1 先谈Finalize() finalize()能做的所有工作,使用try-finally或者其他方式都可以做得更好、更及时,所以笔者建议大家完全可以忘掉Java语言中有这个方法的存在。 ——《深入理解JVM》 finalize()方法确实可以实现一次对象的自救,但是其不确定性和昂贵的运行代价都表 ...
分类:
编程语言 时间:
2019-11-09 00:36:27
阅读次数:
111
《精通JPA与Hibernate:Java对象持久化技术详解》这本书写完,就开始着手写《Java网络编程核心技术详解》一书,已经写了一大半,内容包括:Java网络编程的基础知识、套接字编程、非阻塞通信、创建HTTP服务器与客户程序、数据报通信、对象的序列化与反序列化、Java反射机制、RMI框架、JDBCAPI、JavaMailAPI、MVC设计模式、XML处理、安全网络通信、CORBA和Web服
分类:
编程语言 时间:
2019-11-08 09:26:51
阅读次数:
154
JVM中对象模型及相应名词概念 java对象在jvm中的模型是OOP Klass 模型; klass klass对应元数据,包括常量池、字段、方法等。是在加载class阶段创建instanceKlass。存放在方法区。 oop oop对应java中的实例。 oop是指向oopDesc的指针。 oop ...
分类:
其他好文 时间:
2019-11-06 12:55:55
阅读次数:
73
环境: jdk: openjdk11 操作系统: windows 10教育版1903 目的: 如题,当一个对象里有些属性值为null 的不想参与json序列化时,可以添加如下注解 import com.fasterxml.jackson.annotation.JsonInclude; import ...
分类:
编程语言 时间:
2019-11-06 10:25:53
阅读次数:
317
1、Dead Or Alive 我们都知道对象死亡的时候需要进行垃圾回收来回收这些对象从而释放空间,那么什么样的对象算是死亡呢,有哪些方法可以找出内存中的死亡对象呢?一般来说,我们可以这样认为:如果内存中不存在对当前对象的引用,则此对象一定是死亡状态;但是死亡状态的对象并不一定没有其他对象进行引用( ...
分类:
编程语言 时间:
2019-11-06 00:30:13
阅读次数:
112
本文使用的技术点: JAXB2实现对象与XML之间的映射 JAXB是Java Architecture for XML Binding的缩写,可以将一个Java对象转变成为XML格式,反之亦然。我们把对象与关系数据库之间的映射称为ORM, 其实也可以把对象与XML之间的映射称为OXM(Object ...
分类:
编程语言 时间:
2019-11-04 11:30:15
阅读次数:
102
mybatis 原理 Mybatis通过xml或注解的方式将要执行的各种statement(statement、preparedStatemnt、CallableStatement)配置起来, 并通过java对象和statement中的sql进行映射生成最终执行的sql语句,最后由mybatis框架 ...
分类:
其他好文 时间:
2019-11-02 20:08:15
阅读次数:
86
Full GC、Minor GC和Major GC的区别 Minor GC:发生在新生代的垃圾收集动作,因为JAVA对象大部分都具备朝生夕灭的特效,所以Minor GC会比较频繁且回收速度比较快 Major GC/Full GC 指发生在老年代的垃圾回收动作,出现Major经常会出现一次Minor ...
分类:
其他好文 时间:
2019-10-30 21:12:42
阅读次数:
111
最简单的东西,往往包含了最复杂的实现,因为需要为上层的存在提供一个稳定的基础,Object作为java中所有对象的基类,其存在的价值不言而喻,其中wait和notify方法的实现多线程协作提供了保证。 案例 Output: 也可以使用notifyAll,输出为: 发现最后唤醒的顺序颠倒了 执行完no ...
分类:
编程语言 时间:
2019-10-29 19:50:30
阅读次数:
94
在实例化对象前,如果没有加载过相应的类信息,那么会首先加载类,然后才实例化对象。 在这种情况下,顺序为: a. 加载类 为父类静态属性分配内存并赋值 / 执行父类静态代码段 (静态代码块和静态成员,先后按照实际的代码顺序,进行初始化) 为子类静态属性分配内存并赋值 / 执行子类静态代码段 (按代码顺 ...
分类:
编程语言 时间:
2019-10-28 10:37:42
阅读次数:
81