自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 MVC/MVP/MVVM

MVC的依赖关系 MVC出了把应用程序分成View、Model层,还额外的加了一个Controller层,它的职责就是专门管理应用程序的业务逻辑。Model、View、Controller三个层次的依赖关系如下: Controller和View都依赖Model层,Control...

2016-10-07 20:26:27 1142 0

原创 二叉树Morris Traversal

常见的二叉树中序遍历有递归和栈循环两种方式,其实还有另一种更为巧妙的遍历方式Morris Traversal。 Morris Traversal的空间复杂度为O(1),时间复杂度为O(n) 我们知道,在深度搜索遍历的过程中,之所以要用递归或者是用非递归的栈方式,都是因为其他的方式没法记录当前...

2016-09-18 14:50:52 686 0

转载 Java中CAS详解

在JDK 5之前Java语言是靠synchronized关键字保证同步的,这会导致有锁 锁机制存在以下问题: (1)在多线程竞争下,加锁、释放锁会导致比较多的上下文切换和调度延时,引起性能问题。 (2)一个线程持有锁会导致其它所有需要此锁的线程挂起。 (3)如果一个优先级高的线程等待一个优...

2016-09-17 17:23:34 62674 13

转载 docker入门

Docker是个新生的事物,概念类似虚拟化。网上关于Docker入门的东西已经很多了。不过本文探讨了Docker的特点、特性、原理,还介绍了具有中国特色的安装测试过程,另外还谈到了Docker的社区生态和Dockerfile,并使用Dockerfile构建一个nginx环境。原文:Docker简介...

2016-09-17 16:08:58 776 0

转载 mvcc机制

我们知道,mysql的innodb采用的是行锁,而且采用了多版本并发控制来提高读操作的性能。 什么是多版本并发控制呢 ?其实就是在每一行记录的后面增加两个隐藏列,记录创建版本号和删除版本号, 而每一个事务在启动的时候,都有一个唯一的递增的版本号。  1、在插入操作时 : 记录的创...

2016-09-15 09:38:14 1739 0

原创 动态规划的一些程序

1、最长公共子串 public class sf_dp_LongestCommenSubString { public static void main(String[] args) { // TODO Auto-generated method stub String str1=&qu...

2016-09-10 12:47:41 756 1

转载 满二叉树、完全二叉树、平衡二叉树、哈夫曼树

满二叉树:除了叶节点外每一个结点都有左右子女且叶节点都处在最底层的二叉树。 这个满二叉树应该很好想象,就是一颗非常完美的树,除了叶节点其他节点都有两个孩子。 完全二叉树:只有最下面的两层结点度小于2,并且最下面一层的结点都集中在该层最左边的若干位置的二叉树。 也就是说...

2016-09-04 21:15:53 2089 0

转载 DDos攻击

1 引言 巴西世界杯期间,巴西世界杯官网遭黑客DDoS攻击,导致网站服务器宕机数小时。据悉,一个名为“Anonymous”的黑客组织实施了这次攻击。360网站安全专家表示,“现在DDoS攻击很简单,任何一个不懂技术的人都可以发起,已经成为网站最大的安全威胁”。这种攻击方式不但是黑客牟利和商业...

2016-09-04 11:28:51 557 0

转载 session和cookie区别

二者的定义: 当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择, 都纪录下来。当下次你再光临同一个网站,WEB 服务器会先看看有没有它上次留下的 Cookie 资料,有的话,就会依据 Cookie 里的内容来...

2016-09-04 11:26:02 416 0

原创 HTTP和HTTPS区别

一、HTTP和HTTPS的基本概念 HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。 HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP...

2016-09-04 11:21:15 1006 0

原创 Java内存各部分OOM出现原因及解决办法

一,jvm内存区域 1,         程序计数器 一块很小的内存空间,作用是当前线程所执行的字节码的行号指示器。 2,         java栈 与程序计数器一样,java栈(虚拟机栈)也是线程私有的,其生命周期与线程相同。通常存放基本数据类型,对象引用(一个指向对象起始地址的引用指针或...

2016-09-02 09:58:37 3795 0

转载 Java线程池

Java多线程系列--“JUC线程池”01之 线程池架构 Java多线程系列--“JUC线程池”02之 线程池原理(一) Java多线程系列--“JUC线程池”03之 线程池原理(二) Java多线程系列--“JUC线程池”04之 线程池原理(三) Java多线...

2016-09-01 11:12:03 1130 0

原创 Lock与synchronized 的区别

1、ReentrantLock 拥有Synchronized相同的并发性和内存语义,此外还多了 锁投票,定时锁等候和中断锁等候      线程A和B都要获取对象O的锁定,假设A获取了对象O锁,B将等待A释放对O的锁定,      如果使用 synchronized ,如果A不释放,B将一直等下...

2016-09-01 10:05:26 1934 1

转载 checkedexception和uncheckedexception区别

Throwable类是所有异常的始祖,它有两个直接子类Error / Exception:  Error仅在Java虚拟机中发生动态连接失败或其它的定位失败的时候抛出一个Error对象。一般程序不用捕捉或抛出Error对象。  Unchecked Exception:  a. 指的是程序...

2016-08-31 21:23:46 513 0

转载 JAVA面试问题及答案(上)

1. 面向对象和面向过程的区别 面向过程  优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。  缺点:没有面向对象易维护、易复用、易扩展  面向对象  优点:易维护、易复用、易扩展...

2016-08-30 16:25:46 5276 4

原创 JAVA中Object类中的方法以及finalize函数作用

Object是所有类的父类,任何类都默认继承Object。 一、Object类中的方法 1.clone方法 保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常。 主要是JAVA里除了...

2016-08-23 22:09:45 4117 1

转载 Android中view绘制过程

转自:http://blog.csdn.net/yanbober/article/details/46128379/ 1 背景 还记得前面《Android应用setContentView与LayoutInflater加载解析机制源码分析》这篇文章吗?我们有分析到Activity中界面加载显示的...

2016-08-23 21:22:24 440 0

转载 网络传输的加密与解密

由于互联网早期并没有考虑到数据报文安全的问题,早期的理念都是基于进行通信的。现在随着网络兴起,互联网上慢慢有很多“犯罪团体”,用较低的犯罪成本通常是基于一个网络通信协议的一个小的漏洞来完成窃取、篡改、重播其他人的数据报文。     而往往计算机网络安全维护者和那些恶意攻击者玩的就是一个类似猫...

2016-08-23 19:07:20 3246 0

转载 Android中使用Handler造成内存泄露的分析和解决

Android中使用Handler造成内存泄露的分析和解决 摘要 内存泄露,听起来很屌的样子?看了这篇文章,你会发现其实这个概念很简单。Android程序经常出现的一个现象是:内存占用越来越大,到最后用户不得不强行关闭程序来释放内存。导致内存越来越大的原因很多,其中最主要的原因之一,就是Ha...

2016-08-23 10:46:19 267 0

转载 哪些情况下索引会失效

索引并不是时时都会生效的,比如以下几种情况,将导致索引失效: 如果条件中有or,即使其中有条件带索引也不会使用(这也是为什么尽量少用or的原因)      注意:要想使用or,又想让索引生效,只能将or条件中的每个列都加上索引   2.对于多列索引,不是使用的第一部分,则不...

2016-08-22 16:42:20 6337 0

转载 浅析Http框架 - Android-Async-http

现在主流的网络框架越来越多, Volley, okHttp, Android-Async-http. Android-Async-http是出现比较久的网络框架,用的人相当多. 后来Google结合HttpClient和HttpUrlConnection的优点又推出同样优秀的框架Volley.这些...

2016-08-22 16:32:43 1908 0

转载 自己实现ORM框架

http://www.cnblogs.com/hegezhou_hot/archive/2010/09/17/1829510.html

2016-08-22 16:06:12 2534 0

转载 Struts2和springmvc区别

1、Struts2是类级别的拦截, 一个类对应一个request上下文,SpringMVC是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应,所以说从架构本身上SpringMVC就容易实现restful url,而struts2的架构实现起来要费劲,因为Strut...

2016-08-22 09:48:49 442 0

原创 MySQL两种引擎的区别

Innodb引擎 Innodb引擎提供了对数据库ACID事务的支持,并且实现了SQL标准的四种隔离级别,关于数据库事务与其隔离级别的内容请见数据库事务与其隔离级别这篇文章。该引擎还提供了行级锁和外键约束,它的设计目标是处理大容量数据库系统,它本身其实就是基于MySQL后台的完整数据库系统,MyS...

2016-08-19 10:15:32 19017 1

转载 大数相乘、大数相加、大数相减Java版本

题目:两个非常大的数字相乘(相加,相减)        该题目在java中可以使用BigInteger类中的方法来实现。否则的话可以使用如下方式来实现。        大数相乘:假设有A和B两个大数,位数分别为a和b。根据我们平常手动计算乘法的方式可以看出,最终的结果的位数c一定小于等...

2016-08-19 09:07:49 747 0

原创 背包问题(01背包和完全背包)java求解

背包问题主要是指一个给定容量的背包、若干具有一定价值和重量的物品,如何选择物品放入背包使物品的价值最大。其中又分01背包和无限背包,这里主要讨论01背包,即每个物品最多放一个。而无限背包可以转化为01背包。 先说一下算法的主要思想,利用动态规划来解决。每次遍历到的第i个物品,根据w[i]和v[i...

2016-08-17 09:37:40 19300 8

转载 提升tomcat服务器性能的七条经验

1. 服务器资源     服务器所能提供CPU、内存、硬盘的性能对处理能力有决定性影响。     (1) 对于高并发情况下会有大量的运算,那么CPU的速度会直接影响到处理速度。     (2) 内存在大量数据处理的情况下,将会有较大的内存容量需求,可以用-Xmx -Xms -XX:MaxPerm...

2016-08-14 15:11:25 6908 0

转载 定位服务器瓶颈

瓶颈产生在以下几方面:   1、网络瓶颈,如带宽,流量等形成的网络环境   2、应用服务瓶颈,如中间件的基本配置,CACHE等   3、系统瓶颈,这个比较常用:应用服务器,数据库服务器以及客户机的CPU,内存,硬盘等配置   4、数据库瓶颈,以ORACLE为例,SY...

2016-08-14 14:58:08 2303 1

转载 JAVA反射机制

1.    什么是Java的反射?        要让Java程序能够运行,就得让Java类被Java虚拟机加载。Java类如果不被Java虚拟机加载就不能正常运行。正常情况下,我们运行的所有的程序在编译期时候就已经把那个类被加载了。 Java的反射机制是在编译时并不确定是哪个类被加载...

2016-08-13 16:41:12 270 0

原创 Spring中ApplicationContext和beanfactory区别

BeanFacotry是spring中比较原始的Factory。如XMLBeanFactory就是一种典型的BeanFactory。原始的BeanFactory无法支持spring的许多插件,如AOP功能、Web应用等。    ApplicationContext接口,它由BeanFactory接...

2016-08-12 11:13:35 477 0

转载 Bean的作用域及生命周期

一、Spring Framework支持五种作用域(其中有三种只能用在基于web的Spring ApplicationContext)。  内置支持的作用域分列如下: 作用域 描述 singleton 在每个Spring IoC容器中一个bean定义...

2016-08-12 10:26:58 319 0

原创 Hibernate中的缓存机制与可能遇到的问题

一、一级缓存(session级别) 概念 我们来看看hibernate提供的一级缓存:        /** * 此时会发出一条sql,将所有学生全部查询出来,并放到session的一级缓存当中 * 当再次查询学生信息时,会首先去缓存中看是...

2016-08-11 15:52:08 6205 0

原创 TCP/UDP区别以及UDP如何实现可靠传输

TCP和UDP是OSI模型中的运输层中的协议。TCP提供可靠的通信传输,而UDP则常被用于让广播和细节控制交给应用的通信传输。 UDP(User Datagram Protocol)         UDP不提供复杂的控制机制,利用IP提供面向无连接的通信服务。并且它是将应用程序发来的数据在收...

2016-08-07 11:00:17 10960 0

转载 滑动窗口机制

(1).窗口机制     滑动窗口协议的基本原理就是在任意时刻,发送方都维持了一个连续的允许发送的帧的序号,称为发送窗口;同时,接收方也维持了一个连续的允许接收的帧的序号,称为接收窗口。发送窗口和接收窗口的序号的上下界不一定要一样,甚至大小也可以不同。不同的滑动窗口协议窗口大小一般不同。发送方窗...

2016-08-07 10:45:32 350 0

转载 onSaveInstanceState和onRestoreInstanceState触发的时机

先看Application Fundamentals上的一段话:    Android calls onSaveInstanceState() before the activity becomes vulnerable to being destroyed by the system, bu...

2016-08-06 21:13:43 165 0

原创 二叉树的性质以及二叉查找树的基本操作

1、基本概念 树(Tree)是n(n≥0)个结点的有限集。在任意一棵非空树中:(1)有且仅有一个特定的被称为根(Root)的结点;(2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1,T2,…,Tm,其中每一个集合本身又是一棵树,并且称为根的子树(SubTree)。 度...

2016-08-06 11:18:28 1260 0

转载 Memcache总结

Memcached概念:     Memcached是一个免费开源的,高性能的,具有分布式对象的缓存系统,它可以用来保存一些经常存取的对象或数据,保存的数据像一张巨大的HASH表,该表以Key-value对的方式存在内存中。 官网下载地址: http://www.memcached.org/ 运行...

2016-08-05 21:15:29 212 0

转载 Spring事务配置

Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource、TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分。     DataSource、TransactionManager这两部分只是会根据数据访问方式有所变化...

2016-08-05 21:00:13 198 0

转载 Java RMI

Java RMI 指的是远程方法调用 (Remote Method Invocation)。它是一种机制,能够让在某个 Java 虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法。可以用此方法调用的任何对象必须实现该远程接口。   Java RMI不是什么新技术(在Java1...

2016-08-05 17:32:20 359 0

转载 数据库中的乐观锁与悲观锁

在数据库的锁机制中介绍过,数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性。 乐观并发控制(乐观锁)和悲观并发控制(悲观锁)是并发控制主要采用的技术手段。 无论是悲观锁还是乐观锁,都是人们定义出来的概念,可以认为...

2016-08-05 16:50:55 296 0

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