自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(79)
  • 收藏
  • 关注

转载 Spring常用注解

传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop、事物,这么做有两个缺点:1、如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大;如果按需求分开.xml文件,那么.xml文件又会非常多。总之这将导致配置文件的可读性与可维护性变得很低。2、在开发中在.java文件和.xml文件之间不断切换,是一件麻烦的事,同时这种思维上的不连贯也会降低开发的效率。为了解决...

2018-03-09 14:13:23 162

转载 提高maven速度方法

我们都知道,当我们在pom文件里面添加一个新的依赖时,maven发现本地仓库里面没有该jar包就会到中央仓库去下载,但是中央仓库在国外,下载速度缓慢的令人发指。我们可以在setting.xml(eg:G:\maven\apache-maven-3.0.4\conf\setting.xml)文件里面配置一个国内镜像解决方法:配置国内镜像(如阿里云的镜像)修改conf/settings.xml文件,配...

2018-03-09 09:47:38 940

转载 微服务

一、微服务介绍1. 什么是微服务      在介绍微服务时,首先得先理解什么是微服务,顾名思义,微服务得从两个方面去理解,什么是"微"、什么是"服务", 微 狭义来讲就是体积小、著名的"2 pizza 团队"很好的诠释了这一解释(2 pizza 团队最早是亚马逊 CEO Bezos提出来的,意思是说单个服务的设计,所有参与人从设计、开发、测试、运维所有人加起来 只需要2个披萨就够了 )。 而所谓服...

2018-03-08 13:14:42 287

转载 C语言指针问题

int p; -- 这是一个普通的整型变量int *p; -- 首先从 p 处开始,先与*结合,所以说明 p 是一个指针, 然后再与 int 结合, 说明指针所指向的内容的类型为 int 型。所以 p 是一个返回整型数据的指针。int p[3] -- 首先从 p 处开始,先与[] 结合,说明 p 是一个数组, 然后与 int 结合, 说明数组里的元素是整型的, 所以 p 是一个...

2018-03-07 08:38:48 162

转载 缓存问题

缓存击穿:  查询一个数据库中不存在的数据,比如商品详情,查询一个不存在的ID,每次都会访问DB,如果有人恶意破坏,很可能直接对DB造成过大地压力。缓存击穿的解决方案:  当通过某一个key去查询数据的时候,如果对应在数据库中的数据都不存在,我们将此key对应的value设置为一个默认的值,比如“NULL”,并设置一个缓存的失效时间,这时在缓存失效之前,所有通过此key的访问都被缓存挡

2017-09-15 23:20:37 228

转载 电脑上访问一个网页,整个过程是怎么样的:DNS、HTTP、TCP、OSPF、IP、ARP。

应用层:1. DNS(53):我们输入的是一个URL需要转化成IP地址。首先我们知道我们本地的机器上在配置网络时都会填写DNS,这样本机就会把这个url发给这个配置的DNS服务器,如果能够找到相应的url则返回其ip,否则该DNS将继续将该解析请求发送给上级DNS,整个DNS可以看做是一个树状结构,该请求将一直发送到根直到得到结果。2. HTTP(80)HTTP协议

2017-09-07 10:46:20 477

转载 Linux内核

Linux 内核简介现在让我们从一个比较高的高度来审视一下 GNU/Linux 操作系统的体系结构。您可以从两个层次上来考虑操作系统,如图 2 所示。图 2. GNU/Linux 操作系统的基本体系结构最上面是用户(或应用程序)空间。这是用户应用程序执行的地方。用户空间之下是内核空间,Linux 内核正是位于这里。GNU C Library (glibc)也在这

2017-09-05 16:38:26 177

转载 一致性算法

转载请说明出处:http://blog.csdn.net/cywosp/article/details/23397179    一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简 单哈希算法带来的问题,使得分布式哈希(DHT)可以在P2P环境中真正

2017-09-04 11:30:49 483

转载 Spring事务传播性与隔离级别

事务是逻辑处理原子性的保证手段,通过使用事务控制,可以极大的避免出现逻辑处理失败导致的脏数据等问题。事务最重要的两个特性,是事务的传播级别和数据隔离级别。传播级别定义的是事务的控制范围,事务隔离级别定义的是事务在数据库读写方面的控制范围。以下是事务的7种传播级别:1) PROPAGATION_REQUIRED ,默认的spring事务传播级别,使用该级别的特点是,如

2017-09-01 10:27:21 224

转载 生产者消费者模式

常见场景:某个模块负责产生数据,这些数据由另一个模块来负责处理。产生数据的模块,就形象地称为生产者;而处理数据的模块,就称为消费者。该模式还需要有一个缓冲区处于生产者和消费者之间,作为一个中介。生产者把数据放入缓冲区,而消费者从缓冲区取出数据 缓冲区作用1. 解耦,生产者和消费者只依赖缓冲区,而不互相依赖2. 支持并发和异步 方式一,

2017-08-30 22:40:22 188

转载 性能优化策略

阅读目录代码数据库缓存异步NoSQLJVM调优多线程与分布式度量系统(监控、报警、服务依赖管理)案例一:商家与控制区关系的刷新job案例二:POI缓存设计与实现案例三:业务运营后台相关页面的性能优化add by zhj: 我个人感觉性能优化分析影响性能的因素有哪些,然后按影响力的大小进行排序,然后进行排序。然后进一步分析每个因素为何会影响性能,把这些因素再找出来,再按影

2017-08-30 11:01:01 267

转载 从输入URL 到页面加载完成的过程

转载自:http://www.tuicool.com/articles/V7JN32Z根据 URL 请求页面过程说实话,这类文章网上一抓一大把,而我仍想写这篇博客,一方面是想再仔细缕一下这个过程,另一方面是希望用清晰的语言和结构来解释,也算是小小地挑战一下自己。过程概述浏览器查找域名对应的 IP 地址;浏览器根据 IP 地址与服务器建立 sock

2017-08-29 10:21:36 274

转载 内存溢出和内存泄漏

内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。重复调用本函数,没有写跳出条件。内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。

2017-08-27 16:46:10 145

转载 Http状态码

本部分余下的内容会详细地介绍 HTTP 1.1中的状态码。这些状态码被分为五大类: 100-199 用于指定客户端应相应的某些动作。 200-299 用于表示请求成功。 300-399 用于已经移动的文件并且常被包含在定位头信息中指定新的地址信息。 400-499 用于指出客户端的错误。 500-599 用于支持服务器错误。 HttpServletResponse中

2017-08-27 09:18:30 247

转载 http和https的区别

超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。  为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输

2017-08-26 15:57:19 150

转载 JVM原理

作为一名Java使用者,掌握JVM的体系结构也是必须的。说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。它们的关系如下图所示:运行期环境代表着Java平台,开发人员编写Java代码(.java文件),然后将之编译成字节码(.cl

2017-08-26 10:42:38 143

转载 Java中BIO NIO AIO

【转自】http://qindongliang.iteye.com/blog/2018539 在高性能的IO体系设计中,有几个名词概念常常会使我们感到迷惑不解。具体如下: 序号 问题 1 什么是同步? 2 什么是异步? 3 什么是阻塞? 4 什么是非阻塞? 5 什么是同步阻塞? 6 什么是同步非阻塞? 7 什么是异步阻塞? 8 什么是异步非阻塞? 

2017-08-26 10:08:15 162

转载 进程和线程以及进程和线程的通信方式

1.定义进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.

2017-08-24 16:31:18 273

转载 操作系统的进程调度方法和磁盘臂调度算法

一、先来先服务和短作业(进程)优先调度算法1.先来先服务调度算法先来先服务(FCFS)调度算法是一种最简单的调度算法,该算法既可用于作业调度,也可用于进程调度。当在作业调度中采用该算法时,每次调度都是从后备作业队列中选择一个或多个最先进入该队列的作业,将它们调入内存,为它们分配资源、创建进程,然后放入就绪队列。在进程调度中采用FCFS算法时,则每次调度是从就绪队列中选择一个最先进入

2017-08-24 15:39:59 1280

转载 优化网站性能必备的6种架构方案

前言        一个成熟的大型网站(如淘宝、天猫、腾讯等)的系统架构并不是一开始设计时就具备完整的高性能、高可用、高伸缩等特性的,它是随着用户量的增加,业务功能的扩展逐渐演变完善的,在这个过程中,开发模式、技术架构、设计思想也发生了很大的变化,就连技术人员也从几个人发展到一个部门甚至一条产品线。所以成熟的系统架构是随着业务的扩展而逐步完善的,并不是一蹴而就;不同业务特征的系统,会有各自

2017-08-24 09:18:58 152

转载 线程池和阻塞队列

Java通过Executors提供四种线程池,分别为:newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。newScheduledThreadPool 创建一个定长线程池,支持定时及周期性任务执行。

2017-08-23 10:44:28 355

转载 计算机网络面试小结

源博客:http://blog.csdn.net/u012422829/article/details/450472171.TCP/UDP区别以及TCP如何保证传输可靠性TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”才能建立

2017-08-17 20:13:29 160

转载 Linux基础

linux 操作系统 一.linux 操作系统概述    1.常见操作系统       - 服务端操作系统 : linux、unix、windows server        - 单机操作系统 : windows(dos 、ucdos、win95、win98、win2000、xp、vista、win7、win8)                       

2017-05-20 16:54:28 232

转载 切面编程(AOP)

概述:Aop,  aspect objectprogramming  面向切面编程         功能: 让关注点代码与业务代码分离!关注点,         重复代码就叫做关注点;切面,          关注点形成的类,就叫切面(类)!          面向切面编程,就是指对很多功能都有的重复的代码抽取,再在运行的时候网业务方法上动态植入“切面类代码”。切入

2017-05-13 15:17:31 355

原创 Spring基础总结

Bean的定义:1. 从本质上讲,Spring是一个大的工厂,而Bean则是工厂中的产品。2. 对于XML中的基本标签,主要是设置的是bean的默认属性。3.

2017-05-13 15:02:46 182

原创 Spring容器

Spring容器最基本的接口是BeanFactory,ApplicationContext是BeanFactory的子接口。而我们一般使用ApplicationContext作为Spring容器,主要有ApplicationContext有其他功能:1. ApplicationContext继承了MessageSource接口,因此具备了国际化的功能。2. 资源访问,如URL和文件3.

2017-04-24 22:36:37 166

原创 依赖注入和控制反转

控制反转(IOC):Spring容器为对象设置属性的方式IOC的优点:实现组件之间的解耦,提高程序的灵活性和可维护性。IOC的缺点:1、创建对象的步骤变复杂了,不直观,当然这是对不习惯这种方式的人来说的。2、因为使用反射来创建对象,所以在效率上会有些损耗。但相对于程序的灵活性和可维护性来说,这点损耗是微不足道的。3、缺少IDE重构的支持,如果修改了类名,

2017-04-23 17:00:53 256

原创 设计模式——代理模式

代理模式:为其他对象提提供一种代理以控制这个对象的访问。在某种情况下,一个对象不适合或者和不能直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。  代理模式符合开闭原则(Open-ClosedPrinciple, OCP), 即对扩展开放,对修改关闭。 其实就是一个中介的功能。扩展方法举例:据库连接池中连接的那个close方法, 普通的Connection的clos

2017-04-19 23:28:06 209

原创 设计模式——工厂模式

无论是简单工厂模式,工厂方法模式,还是抽象工厂模式,他们都属于工厂模式,在形式和特点上也是极为相似的,他们的最终目的都是为了解耦使用工厂方法模式,看上去会感觉到这不是更麻烦了吗,直接在外界创建具体的抽象子类不行吗?还用这么麻烦的创建工厂子类,然后再用工厂子类去创建抽象子类。1 工厂方法封装了对象创建的细节,将对象创建代码和其他部分脱离,减少相干性.2 有利于同类对象创建的统

2017-04-19 00:18:17 177

原创 设计模式——单例模式

什么情况下使用单例模式 使用单例模式最核心的一点是体现了面向对象封装特性中的“单一职责”和“对象自治”原则。单例模式也是一种比较常见的设计模式,它到底能带给我们什么好处呢?其实无非是三个方面的作用:第一、控制资源的使用,通过线程同步来控制资源的并发访问;第二、控制实例产生的数量,达到节约资源的目的。第三、作为通信媒介使用,也就是数据共享,它可以在不建立直接关联的条件下,让多

2017-04-17 20:36:48 211

转载 位运算

一提起位运算,人们往往想到它的高效性,无论是嵌入式编程还是优化系统的核心代码,适当的运用位运算总是一种迷人的手段,或者当您求职的时候,在代码中写入适当的位运算也会让您的程序增加一丝亮点,最初当我读《编程之美》求“1的数目”时,我才开始觉得位运算是如此之美,后来读到 《Hacker's Delight》,感慨到Henry S.Warren把位运算运用的如此神出鬼没,很多程序都十分精妙,我觉得在一

2017-02-20 15:47:30 222

转载 Android hdpi ldpi mdpi xhdpi xxhdpi适配详解

1、了解几个概念(1)分辨率。分辨率就是手机屏幕的像素点数,一般描述成屏幕的“宽×高”,安卓手机屏幕常见的分辨率有480×800、720×1280、1080×1920等。720×1280表示此屏幕在宽度方向有720个像素,在高度方向有1280个像素。(2)屏幕大小。屏幕大小是手机对角线的物理尺寸,以英寸(inch)为单位。比如某某手机为“5寸大屏手机”,就是指对角线的尺寸,5寸×2.54厘

2016-11-08 21:42:29 202

转载 Android精确适配不同的dpi和屏幕尺寸(附dimens按比例变化数字的工具类)

二、适配可行性  (2)屏幕密度:单位dpi,指的是每inch上可以显示多少像素点即px。  (5)刻度无关像素:单位sp,指的是自适应字体的像素,用于指定文字大小。  (1)16:9的4.5寸屏幕由勾股定理计算其高约为3.9寸,宽约为2.2寸   那么既然dpi是自适应屏幕密度的,与px之间又是如何换算呢:  213dpi(tvdpi电视密度屏)  1dp

2016-11-08 21:41:50 910

转载 巧用dimens适配多个分辨率

巧用dimens适配多个分辨率作者:望月听涛   发布:2013-02-27 11:16   分类:Android, 项目经验   阅读:3,034次   2条评论     让应用自动适配多个分辨率的屏幕,是每个Android程序员的基本功,就好像前端工程师熟练编写CSS Hack一样。适配工作中一个重要的工作就是对页面的调整。    对于页面的适配

2016-11-08 21:41:13 202

转载 Android通过Path实现复杂效果(搜索按钮+时钟的实现 )

Path :在Android中复杂的图形的绘制绝大多数是通过path来实现,比如绘制一条曲线,然后让一个物体随着这个曲线运动,比如搜索按钮,比如一个简单时钟的实现:那么什么是path呢!定义:path  就是路径,就是图形的路径的集合,它里边包含了路径里边的坐标点,等等的属性。我们可以获取到任意点的坐标,正切值。那么要获取Path上边

2016-11-08 21:40:30 281

转载 自定义控件之View原理与使用

【Android】自定义控件之View原理与使用字数3380 阅读1186 评论3 喜欢25转载请务必在文章开头注明出处!http://www.jianshu.com/p/a3014f8442b0一、简介不论在学习Android还是在做Android开发,我们都离不开View,所以学好View对一个Android开发人员来说尤为重要。Android中的每个控

2016-11-08 21:38:40 337

转载 教你步步为营掌握自定义View

国内自定义View的文章汗牛充栋,但是,即使你全部看完它们也未必能掌握这一知识点(实际上,我就几乎看完了所有的国内文章)。为什么?一言以蔽之,你是得其术不明其道。(本文不打算讲自定义属性和事件处理,因为太多的文章讲这些了)一、自定义View,你真的掌握了吗?什么?你说你掌握了自定义View?来来来,回答老衲如下问题:Google提出View这个概念的目的是什么?View这个概念与A

2016-11-08 21:13:07 188

转载 inflater的用法

在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById()。不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例化;而findViewById()是找xml布局文件下的具体widget控件(如Button、TextView等)。 具体作用: 1、对于一个没有被载入或者想要动态载入的界面,都需要使用Layou

2016-11-05 20:43:17 296

转载 回朔法

转自:http://blog.csdn.net/qq_32400847/article/details/51474105回溯算法的定义:回溯算法也叫试探法,它是一种系统地搜索问题的解的方法。回溯算法的基本思想是:从一条路往前走,能进则进,不能进则退回来,换一条路再试。解题的一般步骤是:1.定义一个解空间,它包含问题的解;2.利用适于搜索的方法组织解空间;3.利用深度优先法搜索解

2016-11-05 16:08:31 636

转载 分治法

递归的定义:程序调用自身的编程技巧称为递归。递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。边界条件与递归方程是递归函数的两个

2016-11-04 17:10:13 551

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除