Java基础
摫
这个作者很懒,什么都没留下…
展开
-
java使用反射用父类对象生成子类对象
如果子类中有重写父类的方法,则调用setter时是子类重写的方法。mybatis自动生成基础类,使用继承扩展基础类。原创 2023-07-06 19:25:10 · 525 阅读 · 0 评论 -
java 内存分配与GC策略
java 内存分配与GC策略内存分配新生代老年代空间分配担保参考 《深入理解Java虚拟机_JVM高级特性与最佳实践》内存分配堆内存分为新生代层和老年代层,新生代层中放 最新分配内存的对象,这些对象中标记存活时间(GC触发时间增长),当时间增长到一定程度(默认15)或达到其它某些条件就将新生代中的对象转入老年代中。这样将常用的对象与临时的对象分离,减少对常用对象的GC操作,提高效率。新生代新生代层内存分为eden区和survivor区。eden区用来存放最新分配的对象,新生代层经历了GC(Min原创 2021-07-12 19:44:15 · 282 阅读 · 0 评论 -
对匿名类做回调的思考
java中监听回调是一个很常见的需求,尤其是android事件机制。我们最常用的回调方式就是声明一个接口,然后在需要的地方以匿名类的方式实例化接口。interface Callback{ void start(); void finish();}//---------------------public void dosomething(Callback callback){ callback.start(); //dosomething callback.finish();}//原创 2021-02-02 20:27:34 · 172 阅读 · 0 评论 -
Builder模式与Factory模式区别
看Glide代码时遇到builder和factory,感觉这两个模式很像,不知道这两者有什么区别。查了一些资料,自己理解了一下Builder感觉就像是打工仔Worker,是卑微的乙方,他告诉我(甲方):我能造汽车buildCar(),同时我支持自选发动机setEngine(),自选轮胎setTyre(),自选轮子setWheel()等等。于是我想要一辆车就要可以这样写Worker.setEngine("火箭发动机") .setTyre("世界上最好的轮胎") .setWheel("钛合金轮子"原创 2020-12-18 11:17:13 · 1132 阅读 · 2 评论 -
excel导入导出数据通用工具
excel导入导出数据问题引入建立实体类与excel数据关系问题引入后端经常遇到需要把excel中的数据导入到数据库当中,或是把数据库中的数据导出到excel中。最简单的做法就是约定好excel的格式,再通过poi一行一行地读写,第几列是什么数据把他放到实体类的对应变量当中。这么做需要excel格式约定好,如果有一些列对应不上,或是根本不按格式写,我们就需要大量修改代码,或是修改excel格式。建立实体类与excel数据关系...原创 2020-10-12 20:08:04 · 290 阅读 · 0 评论 -
Java内部类、外部类之间访问权限
Java内部类、外部类之间访问权限啥是内部类内部类可以访问外部类的所有成员吗那外部类能访问内部类的所有成员吗静态内部类呢啥是内部类顾名思义,内部类就是在一个类中定义了另一个类,比如在类A中定义了一个类B,B就是A的内部类。class A{ String a = "a"; class B{ String b = "b"; }}内部类可以访问外部类的所有成员吗修改一下代码,外部类A中有多种访问权限的字符串,在内部类B中的方法去打印这些字符串,先抛开static来看。public cl原创 2020-08-24 19:07:07 · 4857 阅读 · 3 评论