Java基础
文章平均质量分 90
浅思浅影
好事多磨终成事,佳期难得自有期
展开
-
问题记录02
避免了重复创建实例的开销,降低了内存的消耗。单例Bean在容器启动时就被实例化,避免在请求时创建新的对象实例,从而提高系统的响应速度。可以确保应用之间配置和安全策略的一致性,简化了配置、管理和监控。发生在 依赖注入 时,两个或多个bean之间形成了一个闭环的依赖关系,即A依赖于B,而B又依赖于A。解决方案:Spring容器通过三级缓存解决了单例(Singleton)作用域下的bean之间的循环依赖问题。一级缓存(Singleton Objects Cache)原创 2024-11-01 16:54:26 · 825 阅读 · 0 评论 -
Java基础—12:Socket 通信
Socket通信:是指两台计算机之间的通信机制。服务器程序 创建一个ServerSocket对象,一直监听客户端程序的连接请求; 客户端程序 创建一个Socket 对象,并尝试连接服务器的套接字(套接字 = IP地址:端口号); 当连接建立时,服务器会通过accept( )方法接收到这个 Socket 对象; 客户端和服务器现在可以通过对 Socket 对象的写入和读取来进行通信。...原创 2019-12-07 17:18:55 · 268 阅读 · 0 评论 -
Java基础—11:知识补充
第一部分null 可以被强转成任意类型; <span>是行内元素,不是块元素; Java成员变量有初始值,而局部变量没有初始值,final常量必须初始化,初始化后值不能修改; 数组声明个数和赋值不能同时出现;比如:int[] arr = new int[3]{1,2,3};—错误 Java中的byte,short,char进行计算时都会提升为 int类型;char类型变...原创 2019-11-01 20:48:47 · 205 阅读 · 0 评论 -
Java基础—03:接口与抽象类
面向接口编程是java开发中一个很常用且重要的思想,所以在这整理一下接口的相关知识,什么是接口? 接口是是对系统行为的抽象,是抽象方法的集合,是统一的行为规范。如果一个类实现了某个接口,那么它就继承了这个接口的抽象方法。接口只是一种形式,接口自身不能做任何事情。为什么要使用接口?一种编码规范,起到约束作用; 一个类只能继承一个父类,但可以继承多个接口; 大型软件开发...原创 2019-02-02 15:39:41 · 136 阅读 · 0 评论 -
Java基础—09:集合之HashMap、Hashtable
面试关键点: Resize操作的过程。 HashMap容量为2次幂的原因。 Hashtable线程安全、synchronized加锁。 Hashtable和HashMap异同。 为什么Hashtable被弃用? concurrenthashmap相比于Hashtable做的优化、segment的概念、concurrenthashmap高效的原...原创 2019-02-10 01:11:41 · 250 阅读 · 0 评论 -
Java基础—00
Java的优点:摆脱了硬件平台的束缚,实现了“一次编写,到处运行”; 提供了一个相对安全的内存管理和访问机制,避免了绝大部分的内存泄露和指针越界问题; 实现了热点代码检测 和 运行时编译及优化,使得Java应用能随着运行时间的增加而获得更高的性能; 有一套完善的应用程序接口,有无数商业机构和开源社区的第三方类库的帮助。C++ 与 Java 的区别:Java 是纯粹的面向对象语言,所...原创 2019-04-10 18:57:42 · 176 阅读 · 0 评论 -
Java基础—01:数据类型
一、基本数据类型int :4字节 (32位) 。 min:-2,147,483,648 (-2的31次方); max:2,147,483,647 (2的31次方-1) long : 8字节 (64位)。(-2的63次方)~(2的63次方-1) 例:long a = 100000L; short : 2字节。 -32768 ~...原创 2019-04-10 20:54:41 · 211 阅读 · 0 评论 -
Java基础—02:面向对象的三个基本特征
面向对象的三个基本特征是:封装、继承、多态。封装封装:(包装,信息隐藏)就是把对象的属性和操作结合为一个独立的整体,并尽可能隐藏对象的内部实现细节; 举例:人本身就是一个很好的封装。对外提供与其它类或者对象交互的必要接口,而将自身的某些属性和实现细节对外隐藏。java是通过关键字private,protected,包和public实现封装的。通过种方式,类对内部数据和方法提供了不同级别的保...原创 2019-04-10 23:25:42 · 936 阅读 · 0 评论 -
Java基础—04:内部类
参考:https://blog.csdn.net/weixin_41574643/article/details/79962615为什么需要内部类?因为类不能多继承,而每个内部类都能独立的继承一个(接口的)实现,具有可继承多个具体的或抽象的类的能力。一般来说,内部类继承自某个类或实现某个接口,内部类的代码 操作创建它的外部类的对象。所以可以认为内部类提供了某种进入其外部类的窗口。所以无...原创 2019-04-10 23:28:18 · 97 阅读 · 0 评论 -
Java基础—05:关键字
关键字:1.break、continue以及 return 有什么区别?(1)break :是直接强行跳出当前循环,不在执行剩余代码。(2)continue : 是停止此次循环,回到循环起始处,进入下一次循环操作。(3)return : 是一个跳转语句,表示从一个方法返回,是程序控制返回到调用该方法的地方。注:goto作为保留字,将来可能会被使用2.final、fin...原创 2019-04-10 23:29:46 · 125 阅读 · 0 评论 -
Java基础—06:字符串
目录一、String为什么不可变?二、不可变的好处三、StringBuffer和StringBuilder四、String Pool五、new String("abc")一、String为什么不可变?String 被声明为 final,因此它不可被继承。在堆中分配空间后内存地址不可变。在 Java 8 中,String 内部使用 char 数组存储数据。pub...原创 2019-04-10 23:43:48 · 123 阅读 · 0 评论 -
Java基础—07:IO和 (NIO)
1.Java IO流的层次结构?一个程序需要InputStream或者Reader从数据源读取数据,需要OutputStream或者Writer将数据写入到目标媒介中。未完待续,后面补充......如有错误,欢迎留言指正 * _*...原创 2019-04-21 14:15:57 · 126 阅读 · 0 评论 -
Java基础—08:异常
1.异常的层级Java异常是层级的,并通过继承来区分不同种类的异常。Exception类:又分为 运行时异常(RuntimeException,即不受检查的异常)和 受检异常(CheckedException)。 Error类:表示系统错误,比如硬件故障、JVM崩溃、内存不足等。 运行时异常(Runtime Exception):源于糟糕的编程,是程序运行时错误...原创 2019-04-21 14:16:30 · 151 阅读 · 0 评论 -
Java基础—09:集合之ArrayList、Vector、LinkedList
一、集合概述 1、List为什么有序?因为List添加顺序和存储顺序一致。ArrayList:数组。新创建一个ArrayList对象,JVM会为其在堆中分配一个默认或指定大小的连续内存区域;不足则创建新的连续内存区域,再讲原来内存区域中的数据复制过来,修改引用指向。 LinkedList:链表。链表中存有下一个结点的地址,每添加一个结点,就将这个结点的地址存在上一个结点的内存中。 ...原创 2019-04-21 14:17:35 · 569 阅读 · 0 评论 -
Java基础—10:多线程
目录一、进程与线程:二、创建多线程的三种方式及区别:三、synchronized四、锁分类及优化五、线程池六、AQS多线程实现售票系统一、进程与线程进程:操作系统都支持同时运行多个程序,每个运行中的程序就是有一个进程。 线程:当一个程序运行时,内部可能包含了多个顺序执行流,每个顺序执行流就是一个线程,线程也是对象。1.区别:本质区别:进程是操作系统资源分...原创 2019-09-11 18:35:01 · 345 阅读 · 1 评论