
java学习笔记
不断学习 不断进步
lls_1314
这个作者很懒,什么都没留下…
展开
-
JSON学习笔记
JSON简介:JSON: JavaScript Object Notation JS对象简谱 , 是一种轻量级的数据交换格式.JSON的五点语法1.数组(Array)用方括号(”[]“)表示。2.对象(Object)用大括号(“{}”)表示。3.名称/值对(name/value)之间用冒号(“:”)隔开。4.名称(name)置于双引号中,值(value)有字符串、数值、布尔值、null、对象和数组。5.并列的数据之间用逗号(“,”)分隔。Java 解析 JSON 和 转换JSON使用GS原创 2021-05-31 12:07:37 · 159 阅读 · 2 评论 -
函数里的Scanner
函数里的Scanner不知道大家有没有遇到这样一个问题 就是我们在函数里定义了Scanner 每次进入函数都依靠这个Scanner输入,我们在多次调用这个函数的时候 我们自己输入没有任何问题 但是我们复制过来的一串东西却没法正常调用首先,无论定义多上个Scanner对象,都是共享一个常量流的,(System.in这应该是一个常量流)一旦关闭了就不能够再使用。再者,复制过来的数据默认都进去第一个函数 ,然后函数就卡死里,进不去也出不来。但是自己输入的就没问题 自己打的时候有回车 数据的读入可以自动断原创 2021-05-22 11:38:59 · 174 阅读 · 0 评论 -
Java Socket 多次交互问题
Java Socket 多次交互问题前几天学了网络编程 我在复现的过程中遇到了不少问题问题出现问题就是 传输流 导致 Socket 关闭从而导致服务端代码import javax.print.attribute.standard.RequestingUserName;import java.io.*;import java.net.ServerSocket;import java.net.Socket;import java.util.TreeSet;public class Serv原创 2021-05-19 18:31:57 · 1563 阅读 · 2 评论 -
Java 多线程
Java 多线程进程与线程进程是指一个内存运行的应用程序,每个进程都有一个独立的内存空间线程1.是进程中的一个执行路径,共享一个内存空间,线程之间可以自由切换,并发执行,一个进程至少有一个线程2.线程实际上是在进程基础之上的进一步划分,一个进程启动之后,里面的若干执行路径又可以划分成若干个线程[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FeMUtjak-1621153163575)(C:\Users\lenovo\AppData\Roaming\Typora\原创 2021-05-16 16:19:58 · 106 阅读 · 0 评论 -
对象序列化 和 反序列化的 遇到的小问题
对象序列化 和 反序列化的 遇到的小问题今天在做作业的时候 是把 HashMap 序列化补充一个知识点我们知道HashMap 的 Node<K,V> [] table 是被 transient 修饰的 所以序列化的时候会被忽略掉 之所以这样做 1是因为table 不总是满的 序列化的时候会导致空间的浪费 2是同一键值对在不同JVM下,所处桶的位置不同 ,也就是说同一个键值对在不同的平台会产生不同的hash(Object 中的hashcode 是native的) ,此时在对一个table操作原创 2021-05-15 11:12:44 · 183 阅读 · 0 评论 -
接口式内部类
接口式内部类今天又学了一招 接口不是不可以直接实例化吗 ,怎么还能直接new了?原来这是接口式匿名类的奥秘:首先格式是这样的: Interface interface = new Interface() {实现接口的类体}初看上去,就像在“不提供接口实现的情况下,直接new了一个接口实例”但是这只是假象 通过反编译 可以看出 编译器 自动生成了一个类实现了该接口。我再扯两句关于接口引用 指向 实现类的引用 (上面的接口式内部类就是这种情况)还是那句话 ,接口是为了实现多态(x100原创 2021-05-09 21:30:49 · 116 阅读 · 0 评论 -
Java 中 Comparable 和 Comparator 比较
Java 中 Comparable 和 Comparator 比较Comparable 是一个排序接口一个类实现了Comparable接口 就意味着这个类支持排序。 那么这个类组成的LIst 就可以就可以直接调用 Collections.sort(LIst list) 方法了。 Collections(该类包含了对集合类操作和返回的静态方法)。Comparetor 是一个比较器接口。我们如果需要控制某个类的次序,可以建立一个类的比较器来进行比较。 但是你也可以在这个类上直接实现 Comparato原创 2021-05-09 16:26:51 · 150 阅读 · 0 评论 -
JDK 从8 到11遇到的问题
JDK 从8 到11遇到的问题本来闲着没事 我就给JDK升个级吧 然后正常的去官网下了个JDK11 就在我安装完还感觉良好的时候 我寻思我先cmd看一下版本吧 这一看不知道 一看吓一跳 怎么我还没配环境 你就 版本变成11了? 好家伙比我还着急。NEXT - 我又把JDK11的文件夹删了,再去cmd 好家伙直接 不输出了 (Java ,Java -version 都不输出)。嘶。我意识到了事情的严重性。此时版本号看似是11,其实是虚假的11,因为JDK11安装的时候自动在Path添加了系统变量。原创 2021-04-26 22:35:49 · 230 阅读 · 0 评论 -
Arraylist 源码分析
modcount 和 java的 Fail-Fast 机制有关 即为在可能发生错误的情况下提前抛出。transient Object[] elementData; // non-private to simplify nested class access 这里的 non-private to simplify nested class access 翻译过来就是 非私有化以简化嵌套类访问 但是我们明明知道内部类明明可以透 明的访问内部类的所有成员,那么何谈简化呢?..原创 2021-04-26 16:38:57 · 109 阅读 · 0 评论 -
浅拷贝和深拷贝的区别
浅拷贝和深拷贝的区别对于浅拷贝 对于基本数据类型只是进行值传递 对于引用类型会进行引用传递此时都指向同一个地址改变一个都会影响另一个clone 就是典型的浅拷贝对于深拷贝 会对每个属性进行拷贝,并拷贝属性所指向的动态分配的内存clone 也可以实现深拷贝 与通过重写clone方法实现浅拷贝的基本思路一样,只需要为对象图的每一层的每一个对象都实现Cloneable接口并重写clone方法,最后在最顶层的类的重写的clone方法中调用所有的clone方法即可实现深拷贝。简单的说就是:每一层原创 2021-04-21 22:35:01 · 95 阅读 · 0 评论 -
对象调用编译时类型的属性和运行时类型的方法
对象调用编译时类型的属性和运行时类型的方法编译时,JVM会在栈中静态创建基本数据变量,和引用数据变量的引用根据继承的特点我们可以知道,子类会继承父类非私有的属性和方法,也就是说,父类的(非私有)属性也会出现在子类中,当然,这是显而易见的,然而关键在于,如果子类重新定义了这一属性,会怎么样呢?实际上,父类的属性并不会被覆盖,为了方便起见,我把从父类继承来的属性记为– 属性<父类> 而自己重新定义的同名属性为–属性<子类> 这样,在子类中,会有两个属性 即:属性<父类>原创 2021-04-21 11:28:00 · 341 阅读 · 0 评论 -
啦啦啦
javaSE学习笔记第二章1. java发展史java的诞生在1991年时候,James Gosling在Sun公司的工程师小组想要设计这样一种主要用于像电视盒这样的消费类电子产品的小型计算机语言。这些电子产品有一个共同的特点:计算处理能力和内存都非常有限。所以要求:语言必须非常小且能够生成非常紧凑的代码,这样才能在这样的环境中执行。另外,由于不同的厂商选择不同的CPU,因此,要求该语言不能和特定的体系结构绑在一起,要求语言本身是中立的,也就是跨平台的。最初这个语言命名为“Green”,类似于绿色软原创 2021-04-13 20:00:30 · 97 阅读 · 0 评论