
Java核心卷一
文章平均质量分 77
头秃的程序员小王
请务必一而再,再而三,三而不竭,千次万次,毫不犹豫的救自己于人间水火
展开
-
浅谈 jdk 中的 Stream 流使用及原理
一文搞懂java stream原理原创 2022-01-05 22:59:33 · 2744 阅读 · 0 评论 -
System.currentTimeMillis的性能如何
一、背景撸代码时发现System.currentTimeMillis的调用都被封装成了cache类型,代码如下:那么System.currentTimeMillis真的有这么这么差吗,如果差的话又是什么原因造成的?什么情况下可以直接调用原生方法,什么情况下需要使用缓存呢?二、测试先问会不会,再问为什么。那么System.currentTimeMillis的性能是否真的有这么差,很多大佬给出了自己的测试case并总结出下面两个结论1)在高并发场景下System.currentTime.原创 2021-11-01 23:00:47 · 1487 阅读 · 0 评论 -
java动态代理
实例代码:public interface Me { public void sayHello();}import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;class MyHandler implements InvocationHandler{ Object target; public MyHa.原创 2020-10-20 11:33:13 · 191 阅读 · 0 评论 -
十二、Swing用户界面组件
一、SWING和MVC设计模式每个组件都有三个要素:内容, 如: 按钮的状态(是否按下), 或者文本框的文本 外观(颜色,大小等)。 行为(对事件的反应)。在程序员使用 Swing组件时, 通常不需要考虑模型 -视图-控制器体系结构。每个用户 界面元素都有一个包装器类(如 JButton 或 JTextField) 来保存模型和视图。当需要查询内容 (如文本域中的文本)时, 包装器...原创 2019-11-22 18:13:08 · 696 阅读 · 0 评论 -
十一、事件处理
目录一、事件处理基础1.1 示例1.2 简洁指定监听器 1.3 改变观感1.4 适配器类二、动作三、鼠标事件四、AWT事件继承层次一、事件处理基础事件源有一些向其注册事件监听器的方法。当某个事件源产生事件时, 事件源会向为事 件注册的所有事件监听器对象发送一个通告。像 Java 这样的面向对象语言,都将事件的相关信息封装在一个事件对象(ev...原创 2019-11-20 21:17:51 · 431 阅读 · 0 评论 -
十、图形程序设计
一、概述AWT:基本 AWT 库采用将处理用户界面元素 的任务委派给每个目标平台(Windows、Solaris、 Macintosh 等)的本地 GUI 工具箱的方式, 由本地 GUI 工具箱负责用户界面元素的创建和动作。Swing 没有完全替代AWT, 而是基于AWT 架构之上。Swing 仅仅提供了能力更 加强大的用户界面组件。 尤其在采用 Swing 编写的程序中,还需要使用基...原创 2019-11-20 15:09:25 · 571 阅读 · 0 评论 -
十四、并发
多线程的4种实现方式一、什么是线程多线程程序在较低的层次上扩展了多任务的概念:一个程序同时执行多个任务。通常, 每一个任务称为一个线程(thread), 它是线程控制的简称。可以同时运行一个以上线程的程 序称为多线程程序(multithreaded)。 那么,多进程与多线程有哪些区别呢? 本质的区别在于每个进程拥有自己的一整套变 量, 而线程则共享数据。 这听起来似乎有些风险, ...原创 2019-02-26 20:19:57 · 363 阅读 · 0 评论 -
六、接口,lambda表达式和内部类
一、接口 在 JavaSE 5.0 中,Comparable 接口已经改进为泛型类型。public interface Comparable { int compareTo(T other) ; // parameter has type T } 例如,在实现 Comparable 接口的类中, 必须提供下列方法 int compareTo(Employee other) 接口中的...原创 2019-02-18 21:55:46 · 330 阅读 · 0 评论 -
七、异常,断言和日志
一、处理错误如果由于出现错误而使得某些操作没有完成, 程序应该:返回到一种安全状态,并能够让用户执行一些其他的命令;或者 允许用户保存所有操作的结果,并以妥善的方式终止程序异常分类 Error 类层次结构描述了 Java 运行时系统的内部错误和资源耗尽错误。 应用程序不应该 抛出这种类型的对象。 如果出现了这样的内部错误, 除了通告给用户,并尽力使程序安全地 终...原创 2019-02-20 11:08:41 · 906 阅读 · 1 评论 -
九、集合
一、JAVA集合框架 与现代的数据结构类库的常见情况一样, Java 集合类库也将接口( interface) 与 实 现 (implementation) 分离。 队列通常有两种实现方式: 一种是使用循环数组。另一种是使用链表。 当在程序中使用队列时,一旦构建了集合就不需要知道究竟使用了哪种实现。因此, 只 有在构建集合对象时,使用具体的类才有意义。可以使用接口类型存放集合的引用。...原创 2019-02-23 21:47:41 · 434 阅读 · 0 评论 -
八、泛型程序设计
一、为什么使用泛型设计使用泛型机制编写的程序代码要比那些杂乱地使用 Object 变量,然后再进行强制类型转换的代码具有更好的安全性和可读性。在 Java 中增加范型类之前, 泛型程序设计是用继承实现的。ArrayList 类只维护一个 Object 引用的数组:这种方法有两个问题。当获取一个值时必须进行强制类型转换;此外,这里没有错误检査。可以向数组列表中添加任何类的对象。...原创 2019-02-23 18:33:35 · 1927 阅读 · 0 评论 -
五、继承
目录类,超类和子类强制类型转换受保护访问抽象类(abstract)Object:所有类的超类equals方法hashcode方法 tostring()方法定义数量访问数组列表元素类型化与原始数组列表的兼容性对象包装器与自动装箱参数数量可变的方法枚举类反射Class类利用反射分析类的能力在运行时使用反射分析对象使...原创 2019-02-17 18:59:44 · 698 阅读 · 0 评论 -
四、对象与类
目录一、面向对象程序设计概述二、使用预定义类三、用户自定义类四、静态域和静态方法五、方法参数六、对象构造对象析构与finalize方法七、包包的导入静态导入将类放入包中包作用域八、类路径设置类路径九、文档注释注释的插入类注释方法注释包与概述注释注释的抽取一、面向对象程序设计概述 类之间的关系:...原创 2019-02-17 10:27:53 · 629 阅读 · 0 评论 -
三、Java的基本程序设计结构
目录一、数据类型Int shortlongbytefloatdoublecharboolean二、变量三、运算符四、字符串不可变字符串:编译器可以让字符串共享字符串相关操作:码点和代码单元构建字符串五、输入输出格式化输出文件输入与输出六、控制流程七、大数值八、数组数组声明,初始化:...原创 2019-02-15 09:35:26 · 786 阅读 · 0 评论 -
一、java程序设计环境
java程序设计环境JDK:编写Java程序的程序员使用的软件 JRE:编写Java程序的用户使用的软件 下载jdk的时候, 32位选x86 64位选x64 设置环境变量的原因:将java/bin目录增加到执行路径中——执行路径是系统查找可执行文件时所遍历的文件目录 javac -version 显示jdk版本 在命令行执行java程序:进入文件目录 执行javac W.j...原创 2019-01-26 11:43:33 · 424 阅读 · 0 评论