自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

sandy的博客

只是一个笔记罢了

  • 博客(19)
  • 收藏
  • 关注

原创 单例与多例

1)单例与多例 所谓单例就是所有的请求都由一个对象来处理,比如service和dao就是单例的。之所以用单例是因为,没必要为每一个请求都创建一个实例对象,浪费内存 所谓多例就是所有的请求都由不同的对象来处理,比如Struts的action。之所以用多例是因为,每一个请求都会改变对象的状态,若是再用该对象去处理其他请求容易造成BUG。  ...

2018-07-20 16:05:34 196

转载 java单列模式

1)饿汉式 所谓懒汉式就是在第一次加载的时候就创建对象实例,而不管实际需不需要 public Class Singleleton{ private static Singleton singleleton= new Singleton(); public Singleleton{}; public Singleleton getSingleton() { ...

2018-07-20 15:13:11 369

转载 分库分表

1)使用场景 对于Mysql主从复制实现读写分离来说,可以解决读的扩展性问题。但是写的话,面对庞大的数据量还是集中在Master上,并且Master挂载的slave不可能无限制多,因为slave依赖于Master的能力和负载的限制。因此需要对Master进行扩展来实现海量数据的需要。 2)分表 对于访问极为频繁,数据量又极大的表来说,最直接做的就是减少数据量的总条数,以便减少数据查询所需要的...

2018-07-19 16:26:39 3585 1

转载 MySql主从复制

1)主从复制原理 MySql主从复制实际上是基于二进制日志BinaryLog,可以分为四个步骤:a)主库对所有的DDL(insert、update、delete)和DML(create)写进二进制文件;b)主库生成一个log dump线程,用来给从库IO读取二进制文件;c)从库的IO  thread读取二进制文件,并将读取的二进制文件写入relay log中;d)从库的SQL Thread读取r...

2018-07-19 14:31:14 125

翻译 java 类加载机制与双亲委派模型

一、类的加载过程         类的加载过程主要分为三个步骤:1)装载load、2)链接link、3)初始化Initial         1)装载(load):查找并加载类的二进制数据         2)链接(link):主要分为三个步骤             验证:确保被加载的类的二进制数据是合法正确的。由编译器生成的class文件肯定是符合JVM字节码格式的。也有可能黑客自己生...

2018-07-19 10:08:42 164

原创 java学习的主要流程

多线程模型 - > 各种状态之间转换 -> jdk常见的并发类 -> 如何保证线程安全 -> volatile实现原理 -> 线程池与队列 -> 调优 spring 特点 -> AOP原理 -> 代理种类 -> 实现细节 -> CGLib局限 -> 性能如何 JVM组成 -> 内存模型 -> 垃圾收集算法 ->

2018-07-18 21:16:32 999

翻译 spring&spring IOC

1)spring容器俯瞰                                      图片来自网络          spring启动时,先加载bean的配置信息,读取到spring容器的Bean定义注册表中,然后根据Bean注册表实例化Bean,装配好Bean之间的依赖关系,再然后将Bean放到spring容器中,最后由应用程序读取使用。 容器加载Bean的原理 Bea...

2018-07-18 15:05:51 121

翻译 spring aop

1)AOP 产生的背景          定义一个student接口,有增删改三个方法需要实现。 public interface IStudent{ public void add(); public void delete(); public void update(); } public class StudentImpl implements Istudent...

2018-07-18 14:10:04 93

翻译 基本数据类型与常量池

1)基本数据类型的大小 int:32位 4个字节; short:16位 2个字节; float:32位; double:64位; long:64位; char:16位; byte:8位;最小值是-128,最大值是127 boolean:1位 2)自动拆箱和自动装箱 自动拆箱:当计算数值时,integer会自动转为int型进行计算 自动装箱:当int型传给integer类型时,...

2018-07-17 21:49:30 3549 1

翻译 java多线程全局变量共享问题

         先看下面问题:多个线程访问全局变量x,然后将x与i累加,启动10个线程,想让每个线程的输出结果都是一样的55,但是实际不是的。 package ThreadTest; public class Counter { private int x =0; // 计数方法 public void count() { for(int i=0;i<=10;i++)...

2018-07-17 20:14:09 16001 2

翻译 java多线程

1)概念:什么是线程安全:代码在多线程执行下和在单线程执行下获得的结果是一样的,就认为是线程安全的。 2)线程安全级别:       不可变对象:如String、Integer、Float、Double等包装类都是final类型的类,任何一个线程都改变不了他们的值,除非新创建一个,这样的对象不用使用任何同步手段就可以直接在多线程环境下使用。不可变对象保证了内存的可见性,对不可变对象的读取不需要...

2018-07-17 08:59:06 112

翻译 Comparable&Comparator

1)Comparable位于java.lang下;Comparator位于java.util下; 2)Comaparable是一个对象本身就已经支持自比较所需实现的接口(如String ,Integer自己就可以完成比较操作,已经实现了Camparable接口);自定义的类,要在容器如list中实现排序,可以实现Camparable接口。 package test; import java...

2018-07-16 21:33:00 103

原创 集合使用举例

1.需求:给定一个字符串中字符的使用次数?如bbbssdffsahdh 用map实现。 import java.util.Map; import java.util.TreeMap; public class Maptest {     public static  Map<Character,Integer> countChar(Map<Character,Intege...

2018-07-16 17:32:52 1101

翻译 java集合

一:摘要1).在理解集合之前,先回顾下数组:数组是大小固定的,且只能存放同一数据类型,如引用类型和基本数据类型。2).java集合是可以存储和操作数目不固定的一组数据,java集合只能存放引用类型的数据,不能存放基本数据类型的数据。3).java集合类是一种工具类,所有的java集合都位于java.util包中。可以存储数量不等的多个对象,可以实现基本的数据机构,如栈,队列等,除此之外还可以保存具...

2018-07-16 17:01:48 108

转载 集合常见问题

1.为什么Map接口不继承Collection 接口?Set是无序集合,并且不允许重复的元素List是有序的集合,并且允许重复的元素而Map是键值对它被视为是键的set和值的set的组合Map被设计为键值对的集合,所以不需要继承Collection 接口2.HashMap和Hashtable之间的区别?同步或线程安全Null键和Null值迭代值默认容量大小3.comparable 和 compar...

2018-07-16 15:52:04 683

转载 HashMap常见问题

hashmap什么时候需要增加容量呢?因为效率问题,JDK采用预处理法,这时前面说的loadFactor就派上了用场,当size > initialCapacity * loadFactor,hashmap内部resize方法就被调用,使得重新扩充hash桶的数量,在目前的实现中,是增加一倍,这样就保证当你真正想put新的元素时效率不会明显下降。所以一般情况下HashMap并不存在键值放满的...

2018-07-16 15:07:25 982

翻译 HashMap

1.摘要     HashMap,用于映射处理的键值对处理类型,允许null的key和null的value。JDK1.8对底层实现了优化,引入了红黑树的数据结构和扩容的优化。2.Map接口介绍    java为数据结构的映射定义了一个接口:java.util.Map。此接口主要有四个常用的实现类HashMap、TreeMap、HashTable、LinkedHashMap。   由Abstract...

2018-07-16 15:05:37 158

原创 索引

1.为什么需要索引    假设要在student表查询一个student:select * from student where name='sandy'    如果没有索引,执行该查询时,需要执行全表扫描:数据库不得不在student中查询每一行并确定该名字是不是sandy。在确定一个结果之后,不能停止查询,因为还有可能有其他值,一直执行查询到最后一条,这就是全表扫描2.索引的作用    索引的...

2018-07-08 23:26:06 84

原创 java RMI 和RPC的区别

一.RPC:         概念:Remote Procedure Call Protocol 远程过程调用协议。通过网络从计算机上请求某种调用服务。        一次RPC的调用过程大概可以分为10个步骤:        1.执行客户端调用语句,传送参数        2.调用本地系统发生网络消息        3.消息传送到远程主机        4.服务器得到消息并取得参数       ...

2018-07-08 22:41:30 140

空空如也

空空如也

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

TA关注的人

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