work hard work smart

专注于Java后端开发。 不断总结,举一反三。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 58 下一页

2019年7月13日

摘要: 一、创建实例 工程的结构如下图 1、创建接口 public interface Person { public void setName(String name); public String say(); } 2、创建接口实现 public class PersonImpl implements 阅读全文

posted @ 2019-07-13 23:20 work hard work smart 阅读(186) 评论(0) 推荐(0) 编辑

摘要: 继续上一次的分析 XmlBeanDefinitionReader.java 中 1、registerBeanDefinitions方法 documentReader.registerBeanDefinitions(doc, createReaderContext(resource)); 注册Bean 阅读全文

posted @ 2019-07-13 16:32 work hard work smart 阅读(489) 评论(0) 推荐(0) 编辑

2019年7月11日

摘要: mybatis的一级缓存默认是开启的,二级缓存开启的方法: 在每个Mapper.xml文件中加入一个 阅读全文

posted @ 2019-07-11 15:50 work hard work smart 阅读(445) 评论(0) 推荐(0) 编辑

摘要: 1、导入依赖包 2、增加ehcache.xml配置文件 cache元素的属性 name:缓存名称 maxElementsInMemory:内存中最大缓存对象数 maxElementsOnDisk:硬盘中最大缓存对象数,若是0表示无穷大 eternal:true表示对象永不过期,此时会忽略timeTo 阅读全文

posted @ 2019-07-11 15:40 work hard work smart 阅读(783) 评论(0) 推荐(0) 编辑

2019年7月1日

摘要: 一、DefaultListableBeanFactory类, 里面有一个成员变量beanDefinitionMap,Bean定义对象的Map, BeanDefinition就对应XML的属性配置 /** Map of bean definition objects, keyed by bean na 阅读全文

posted @ 2019-07-01 22:21 work hard work smart 阅读(406) 评论(0) 推荐(0) 编辑

摘要: 1、XmlBeanFactory 的使用,参考MyEclipse Spring 学习总结一 Spring IOC容器 2、使用DefaultListableBeanFactory和XmlBeanDefinitionReader ClassPathResource resource = new Cla 阅读全文

posted @ 2019-07-01 21:44 work hard work smart 阅读(559) 评论(0) 推荐(0) 编辑

2019年6月30日

摘要: 虚拟机栈:Stack Fame 栈桢 程序计数器(Program Counter): 本地方法栈:主要用于处理本地方法 堆(Heap): JVM管理的最大一块内存空间 方法区(Method Area): 存储元信息, 永久代(Permanent Generation),从JKD1.8开始,已经彻底废 阅读全文

posted @ 2019-06-30 21:14 work hard work smart 阅读(185) 评论(0) 推荐(0) 编辑

摘要: 一、创建动态代理代码 1、创建接口 2、创建接口实现类 3、创建DynamicSubject类 4、创建测试类 输出结果: 查看源码,动态代理类在ProxyGenerator类的generateProxyClass生成。 可以发现saveGeneratedFiles为true时,可以将代理类保存到磁 阅读全文

posted @ 2019-06-30 15:15 work hard work smart 阅读(243) 评论(0) 推荐(0) 编辑

摘要: 现代JVM在执行Java代码的时候,通常都会将解释执行与编译执行两者结合起来 所谓解释执行,就是通过解释器来读取字节码,遇到相应的指令就去执行该指令。 所谓编译执行,就是通过即时编译器(Just In Time,JIT) 将字节码转为本地机器码来执行;现代JVM会根据代码热点来生成相应的本地机器码。 阅读全文

posted @ 2019-06-30 13:25 work hard work smart 阅读(1165) 评论(1) 推荐(1) 编辑

摘要: 1、创建MyTest7 输出结果: animal testdog date 针对于方法调用动态分派的过程,虚拟机会在类的方法区建立一个虚方法表的数据结构(virtual method table, vtable),针对于invokeinterface指令来说,虚拟机会建立一个叫做接口方法表的数据结构 阅读全文

posted @ 2019-06-30 09:22 work hard work smart 阅读(242) 评论(0) 推荐(0) 编辑

2019年6月29日

摘要: 1、方法重载 创建MyTest5类 输出结果如下: 2、方法的静态分派 Grandpa g1 = new Father(); 以上代码,g1的静态类型是Grandpa,而g1的实际类型(真正的指向的类型)是Father 我们可以得出这样一个结论:变量的静态类型是不会发生变化的,而实际类型则可以发生变 阅读全文

posted @ 2019-06-29 21:07 work hard work smart 阅读(906) 评论(1) 推荐(0) 编辑

摘要: 1、栈桢(stack frame) 栈桢是一种用于帮助虚拟机执行方法调用与方法执行的数据结构。 栈桢本身是一种数据结构,封装了方法的局部变量表、动态链接信息,方法的返回地址以及操作数栈等信息 2、符号引用,直接引用有些符号引用是在类加载阶段或是第一次使用时就会转换为直接引用,这种转换叫做静态解析;另 阅读全文

posted @ 2019-06-29 20:31 work hard work smart 阅读(349) 评论(0) 推荐(0) 编辑

摘要: 1、创建MyTest3类 然后生成字节码 D:\workspace\study\ jvm_demo\build\classes\java\main\com\example\jvm\bytecode>javap -verbose MyTest3.class 查看test方法 stack=3:表示操作数 阅读全文

posted @ 2019-06-29 17:03 work hard work smart 阅读(210) 评论(0) 推荐(0) 编辑

2019年6月27日

摘要: 一、创建测试类 反编译MyTest2.class文件 二、将setX改为private 此时需要使用javap -verbose -p MyTest2.class才能显示私有方法 D:\workspace\study\ jvm_demo\build\classes\java\main\com\exa 阅读全文

posted @ 2019-06-27 15:25 work hard work smart 阅读(419) 评论(0) 推荐(0) 编辑

2019年6月25日

摘要: 关闭chrome,使用cmd命令进入chrome安装目录cd C:\Program Files (x86)\Google\Chrome\Application 然后使用命令打开chromechrome.exe --user-data-dir="C:/Chrome dev session" --dis 阅读全文

posted @ 2019-06-25 17:06 work hard work smart 阅读(1278) 评论(0) 推荐(1) 编辑

2019年6月24日

摘要: 方法表 1、methods_count method_info,前三个字段和field_info一样 2、方法的属性结构 方法中的每个属性都是一个attribut_info结构 JVM定义了部分attribute,但是编译器自己也可以实现自己的attribute写入class文件里,供运行时使用。 阅读全文

posted @ 2019-06-24 23:36 work hard work smart 阅读(1105) 评论(0) 推荐(0) 编辑

2019年6月23日

摘要: 编译的.class文件,可以用javap进行反编译 javap Test.class javap -c Test.class javap -verbose Test.class 1、创建MyTest1.java 使用D:\workspace\study\ jvm_demo\build\classes 阅读全文

posted @ 2019-06-23 20:23 work hard work smart 阅读(245) 评论(0) 推荐(0) 编辑

摘要: 当一个类或一个资源文件存在多个jar中,就好存在jar hell问题 可以通过以下代码来诊断问题: 阅读全文

posted @ 2019-06-23 14:06 work hard work smart 阅读(663) 评论(0) 推荐(0) 编辑

2019年6月22日

摘要: 当前类加载器(Current ClassLoader) 每个类都会使用自己的类加载器(即加载自身的类加载器)来去加载其他类(指所依赖的类) 如果ClassX引用了ClassY,那么ClassX的类加载器就会去加载ClassY(前提是ClassY尚未被加载) 线程上下文加载器(Context Clas 阅读全文

posted @ 2019-06-22 15:37 work hard work smart 阅读(952) 评论(0) 推荐(0) 编辑

2019年6月15日

摘要: 在运行期,一个Java类是由该类的完全限定名(binary name,二进制名)和用于加载该类的定义类加载器(defining loading)所共同决定的。如果同样名字(即相同的完全限定名)的类由两个不同的加载器所加载,那么这些类就是不同的,即便.class文件的字节码完全一样,并且从相同的位置加 阅读全文

posted @ 2019-06-15 22:14 work hard work smart 阅读(326) 评论(0) 推荐(0) 编辑

上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 58 下一页