![](https://img-blog.csdnimg.cn/2019092715111047.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java
文章平均质量分 56
记录Java基础知识,语法层面和理解层面
欧阳田
生活没有对与错,一路爬行。
展开
-
我对java中使用集合设定初始容量的理解
设置java容器的初始容量可以在性能要求很高的场景是有必要的。我们需要深入理解java集合容器的扩容机制。需要深入理解当前的业务场景。原创 2022-06-26 11:13:04 · 976 阅读 · 1 评论 -
记录一个不理解forEach而导致的错误
forEach与return联合使用,可能存在一些不符合逻辑的错误问题。原创 2022-01-11 10:39:09 · 256 阅读 · 0 评论 -
记录一个批量数据进行分组的小算法
上万,上千条数据进行分组小算法。无论是客户端和服务端都可以使用这样的分组小算法逻辑过程。很有意思。原创 2022-01-11 10:20:33 · 424 阅读 · 2 评论 -
java的spi学习与理解
背景spi在很多框架中都有使用到。a. JDBC加载不同类型的驱动。b. SLF4J对log4j/logback的支持。c. Dubbo中也用SPI的方式实现框架的扩展, 但是它对java提供的原生SPI做了封装。spi的思想就是面对接口编程。让程序达到非侵入式。过程编程的3层工作模式定接口标准(思想,模式,创新)接口的具体实现(技术实力,基础技术知识)应用(理解框架概念,工作过程,熟练应用)SPI(Service Provider Interface)理解。 例子原创 2021-09-14 10:22:30 · 144 阅读 · 0 评论 -
java动态代理使用过程(mybatis源码用的非常多)
背景记录动态代理的使用过程理解动态代理做了一件什么事情过程接口public interface InterfacePlugin { void test(String name);}InvocationHandler的实现类public class Plugin implements InvocationHandler { private InterfacePlugin interfacePlugin = new InterfacePluginImpl();原创 2021-04-12 16:28:27 · 152 阅读 · 0 评论 -
加深Java对象的底层知识理解
背景对象的创建过程?DCL与volatile问题?对象在内存中的存储布局?对象头具体包括什么?对象怎么定位?对象怎么分配?Object o = new Object(),在内存中占用多少字节?过程对象的创建过程小结...原创 2020-08-01 10:05:54 · 141 阅读 · 0 评论 -
Java实现List中的数据分类(使用guava工具进行优化)
背景Java中想要把List中的数据进行分类,在JDK1.8中可以这样做。JDK1.8实现List中数据分类如果使用的JDK低于1.8的话,可以使用guava工具类处理。maven仓库地址过程场景:需要把考生按照考生所属机构进行分类处理。已知考生在一个List容器中,并且考生有所属机构。Candidate类public class Candidate { private...原创 2019-10-09 21:42:26 · 948 阅读 · 0 评论 -
Java实现List中的数据分类(使用JDK1.8的List的stream()方法进行优化)
背景JDK1.8实现List中的数据分类。在JDK1.8之前是没有提供这样的API的,实现过程如下:JDK1.8之前实现List中的数据分类过程场景:需要把考生按照考生所属机构进行分类处理。已知考生在一个List容器中,并且考生有所属机构。Candidate类public class Candidate { private String orgId;//我的目的是以这...原创 2019-10-09 20:47:55 · 4706 阅读 · 2 评论 -
Java中我如何去除if...else...语句?
描述读牛人技术博客 A Java Geek,最开始觉得这样的想法很有创意。提前使用静态代码块把对象存入map容器中,在需要的时候在取。他也有提到可以使用DI的方式把需要的对象提前注入好,但是这两种方式都会造成内存的浪费,因为有一些对象可能是频繁使用,而有些对象用的概率小甚至一次都没有用到,那么这样的方式是不好的。而且,我们是去除if…else…的语句,这样的方式虽然好像没有了if…else…...原创 2019-02-17 11:03:45 · 4934 阅读 · 0 评论 -
对Java封装的一个理解
真正的封装是什么意思封装意味着对象的属性值是不能够改变的。一旦需要改变一个对象的值,那么就违背了封装的原则。封装的属性理解使用setter方法是因为想修改它的值。使用getter方法是因为想获取它的值。所以,当我设计一个属性的时候,我需要思考此属性的值我要不要修改。如果需要修改,我们就需要生成属性的setter方法。只是修改的不是原来对象的值,而是我们深拷贝这个对象,并在这个副本...原创 2019-02-03 08:09:46 · 1178 阅读 · 0 评论 -
JavaBean和JavaObject理解
JavaBeanJava是一门纯粹的面向对象的语言,但是又有基本数据类型,至少基本数据类型是没有引用的,也就是说基本数据类型不是对象,但是Java设计了基本数据类型的自动包装拆装的机制。所以总的来说,都是对象。当说到JavaObject的时候,我们更多的是想到JavaBean这个概念。JavaBean需要一个无参构建器,也就是说我们常说的默认构建器。私有的属性并提供私有属性的get...原创 2019-01-27 12:52:25 · 1096 阅读 · 0 评论 -
Java的this和super关键字的理解
描述在Java中每一个对象的内存模型都有一个this和super关键字。this指代当前对象在内存中的引用地址。super指代父类对象在内存中的引用地址。如果我子类的构建器中调用了父类的有参构建器,则不会调用父类的无参构建器。如果我子类没有调用父类的任何构建器,则默认调用无参构建器。所以子类的构建器算是在某种程度上扩展了父类的构建器。比如父类有两个属性,子类有一个属性,这个时候我可以在子类的...原创 2019-01-27 12:23:09 · 401 阅读 · 0 评论 -
为什么Java有一个超级父类Object?
问题描述java.lang.Object是一个类,是一个所有的类的父类,注意是所有的类而不是接口。那我们应该怎么叫这个Object的类呢?它在Java这门编程语言的作用是什么呢?简单理解如果我们开发者自定义了一个Java类,无论是抽象类还是非抽象类都默认了继承了Object。可是Java语言不支持多继承,A类继承了一个自定义的B类,那么A类必定不能够继承Object的,那A类为什么有Obje...原创 2019-01-27 10:51:02 · 1239 阅读 · 0 评论 -
Java实现List中的数据分类
场景:需要把考生进行分类处理。已知考生在一个List容器中。考生有所属机构。分析:如何才能把List中的考生分类呢?有考生id,有机构id,有机构名称,而且我应该按照机构id进行分类。思考:按照什么进行分类处理?考生所属机构。建立一个CandidateOrg类,类中拥有orgId,orgName,candidateIdList。如何存储:一个CandidateOrg对象是一个组织机构,这个组织机构...原创 2018-03-06 16:57:40 · 18548 阅读 · 2 评论 -
我对调试程序的一个理解
1,什么东西都有一个过程的。只是我们站在这个过程中的不同阶段说出自己对调试程序的一个理解。而这个我们也是有关联的。因为有些人非常熟悉日志打印错误。有些人非常熟悉println()和alert()。有的人喜欢单步debug方式(慢,不到万不得已是不这样做的)。将代码逐渐减少的排错方式(慢,不到万不得已是不这样做的)。有的喜欢采用橡皮鸭调试方法。有的当程序出现问题的时候他什么都不做就只是在思考,在脑子...原创 2018-03-07 17:48:18 · 1846 阅读 · 0 评论 -
理解两个大数相乘过程
1,明确程序是一个通用法则。这个实现过程既可以满足一位数字相乘,也可以满足两位数字相乘。既然能够满足一位数字,两位数字,那么自然也能够满足多位数字相乘。2,最开始自己面对这一道面试题,第一反应就是,我无法使用任何编程语言的基本数据类型去表示这样一个大数,自然也不能够满足这个数的乘积了。这也是这个面试题的难点。3,我的想法就是抛开一切数学中的理论概念。用编程语言的字符组成字符串的方式进行思考。4,思...原创 2018-03-07 15:59:35 · 20790 阅读 · 9 评论 -
java面向对象思想的认识与理解
表述概念具体的认识,在书籍里有。以前想找这些来读,觉得这是捷径,让别人告诉我这是什么。它的相关特性都由别人理解了,然后写出来我自己去读,以为自己懂了,明白了。到现在才发现这是错误的,这些东西还是得自己去探索,然后总结出来。自己感悟自己总结才是成长。这是第二次写思想认识了,第一次大都是基础概念认识和理解。希望下次的认识能够更进一步。原创 2017-01-20 10:54:40 · 959 阅读 · 5 评论 -
Exception
java中异常基本框架知识,掌握一个图,五个关键字,学会自定义异常并使用它,理解异常与重写的关系,记住先捕获小的异常再捕获大的异常,理解简单的认识。原创 2017-01-16 10:07:07 · 268 阅读 · 0 评论 -
java最基本概念小结
阐述了java的一些基本概念,并解释了这些概念为什么存在?有点儿牵强。重点在于如何将这些概念融合为一个整体,应该按照自己的逻辑理解这些概念。原创 2016-12-04 11:18:50 · 296 阅读 · 2 评论