
java基础知识
qq_43641886
这个作者很懒,什么都没留下…
展开
-
static方法不能被重写的原因
从语义就可以看出static、final、private方法本身都是编译期绑定的(也叫前期绑定)这些方法不存在多态,他们是在还没有运行的时候,程序在编译器里面就知道该调用哪个类的哪个方法了,而其他可观察的普通方法的绑定是在运行的时候根据具体的对象决定的,因为从语义上看这些方法是可被继承的,有了多态而造成了不确定性。...原创 2020-06-13 12:00:03 · 1512 阅读 · 0 评论 -
vol.2 int和Integer有什么区别
java 5中新特性:自动装箱\自动拆箱在 Java 5 中新增了静态工厂方法 valueOf,在调用它的时候会利用一个缓存机制,带来了明显的性能改进。按照 Javadoc,这个值默认缓存是 -128 到 127 之间Mark Word:标记位 4字节,类似轻量级锁标记位,偏向锁标记位等。Class对象指针:4字节,指向对象对应class对象的内存地址。对象实际数据:对象所有成员变量。...原创 2020-05-28 16:29:20 · 244 阅读 · 0 评论 -
vol.1 java基础
谈谈你对Java平台的理解?Java本身是一种面向对象的语言,最显著的特性有两个方面,一是所谓的“书写一次,到处运行”(Write once, run anywhere),能够非常容易地获得跨平台能力;另外就是垃圾收集(GC, Garbage Collection),Java通过垃圾收集器(Garbage Collector)回收分配内存,大部分情况下,程序员不需要自己操心内存的分配和回收。jre和jdk的区别我们日常会接触到JRE(Java Runtime Environment)或者JDK(Ja.原创 2020-05-28 15:25:30 · 174 阅读 · 0 评论 -
BIO、NIO、AIO区别及实现
Java提供了哪些IO方式? NIO如何实现多路复用?Java IO方式有很多种,基于不同的IO抽象模型和交互方式,可以进行简单区分。首先,传统的java.io包,它基于流模型实现,提供了我们最熟知的一些IO功能,比如File抽象、输入输出流等。交互方式是同步、阻塞的方式,也就是说,在读取输入流或者写入输出流时,在读、写动作完成之前,线程会一直阻塞在那里,它们之间的调用是可靠的线性顺序。java.io包的好处是代码比较简单、直观,缺点则是IO效率和扩展性存在局限性,容易成为应用性能的瓶颈。很多时..原创 2020-05-27 22:47:13 · 263 阅读 · 0 评论 -
vol.1 java基础面试题
java中为什么要单继承,多实现若为多继承,那么当多个父类中有重复的属性或者方法时,子类的调用结果会含糊不清,因此用了单继承。为什么是多实现呢?通过实现接口拓展了类的功能,若实现的多个接口中有重复的方法也没关系,因为实现类中必须重写接口中的方法,所以调用时还是调用的实现类中重写的方法。那么各个接口中重复的变量又是怎么回事呢?接口中,所有属性都是 static final修饰的,即常量,这个什么意思呢,由于JVM的底层机制,所有static final修饰的变量都在编译时期确定了其值,若在使用时,两.原创 2020-05-26 22:48:33 · 115 阅读 · 0 评论 -
关于容器你需要知道的
关于ArrayList线程不安全ArrayList源码导读 Java的serialization提供了一种持久化对象实例的机制。当持久化对象时,可能有一个特殊的对象数据成员,我们不想用serialization机制来保存它。为了在一个特定对象的一个域上关闭serialization,可以在这个域前加上关键字transient。 #Fail-Fast modCount 用来记...原创 2020-03-15 17:12:12 · 114 阅读 · 0 评论 -
动态代理
你真的完全了解Java动态代理吗?看这篇就够了Java两种动态代理JDK动态代理和CGLIB动态代理动态代理的原理代理模式是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个真实对象的访问。代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理通过代理层这一中间层,有效的控制对于真实委托类对象的直接访问,同时可以实现自定义的控制策略(Spri...原创 2020-02-13 11:05:22 · 114 阅读 · 0 评论 -
11.28小记
RESTful API就是一套协议来规范多种形式的前端和同一个后台的交互方式。什么是RESTful API?原创 2019-11-28 16:27:12 · 121 阅读 · 0 评论 -
11.14小记
java中this语句的用法Java中this关键字详解Java中this关键字的详解将字符串转换为一个新的字符数组map遍历方法一:在for循环中遍历key或者values,一般适用于只需要map中的key或者value时使用,在性能上比使用entrySet较好; for(String key : map.keySet()){ System...原创 2019-11-25 21:32:26 · 122 阅读 · 0 评论 -
都说反射好,到底好在哪里!
首先我们要明白静态编译和动态编译的概念静态编译:在编译时确定类型,绑定对象,即通过动态编译:在运行时确定类型,绑定对象反射的定义在运行中的程序检查自己和软件运行环境的能力,他可以根据它发现的进行改变。通俗的说就是反射可以在运行时根据指定的类名获取类的信息。Java反射机制–是什么,为什么,怎么用...原创 2019-11-20 15:23:36 · 119 阅读 · 0 评论 -
关于StringBuffer replace()方法的理解
我知道了replace首先判断end是否大于等于len end<=end在判断start end count 是否满足大小条件看新数组的大小 决定是否需要扩容shift 是将 value end 后的值 移到 start+len 的后面putStringAt 是将str的值放进从序号start开始的value字符串里面返回 value;代码块1//从start开始替换...原创 2019-11-18 20:46:22 · 1130 阅读 · 0 评论 -
11.10小记
jar包关于jar包的一切——java笔记287寻找重复数原创 2019-11-10 21:56:46 · 100 阅读 · 0 评论 -
11.3小记
技术栈mysql服务器逻辑架构图MySQL 架构及优化原理 详解 连接器分析器查询缓存优化器执行器2. 三次握手原创 2019-11-03 21:09:56 · 151 阅读 · 0 评论 -
10月27号小记
二进制运算符转化x&(n-1)=x%nx>>n=x/(2^n)hashcode ^ (hashcode >>> 16),这一步甚是巧妙,是将高16位移到低16位,这样计算出来的整型值将“具有”高位和低位的性质附解释HashMap中hash(Object key)原理,为什么(hashcode >>> 16)2. 介绍java...原创 2019-11-03 15:58:24 · 118 阅读 · 0 评论 -
10.29小记
管理整个计算机硬件的其实是操作系统的内核(kernel),这个内核是需要被保护的,我们一般用户通过shell来与内核通讯,以让内核达到我们所想要达到的工作shell:能够操作应用程序的接口都能够称为shell狭义上来讲:命令行方面的软件广义上来讲:图形化界面的软件,因为图形界面其实也能够操作各种应用程序来调用内核工作shell依据发展者的不同就有许多版本Bourne SHell(sh)...原创 2019-11-03 15:58:38 · 103 阅读 · 0 评论 -
我想知道的关于java的小知识点
我想知道的关于java的小知识点java 对象的clone()方法原创 2019-11-03 15:59:17 · 114 阅读 · 0 评论