Java笔记反射reflection
引出反射我们需要怎样才可以读出配置文件的内容,并调用配置文件的方法
配置文件
12classPath = com.reflection.Catmethod = hi
目标类文件
12345678package com.reflection;public class Cat { public void hi() { System.out.println("hi"); }}
问题实现
第一点很容易,我们通过创建properties在进行加载,就可以很容易的得到配置中的内容
12345678910public class ReflectionQuestion { public static void main(String[] args) throws IOException { String filePath = "src\\re.properties"; Properties pro...
Java笔记IO流的部分我打算用两天的时间完成学习,再用一天来结束class以及反射的内容,Java的基础知识点就告一段落。
文件基础知识文件在程序中是以流的形式来操作的
Java程序(内存)——输出流——>文件
文件——输入流——>Java程序(内存)
流:数据在数据源(文件)和程序(内存)之间经历的路径
输入流:数据从文件到程序的路径
输出流:数据从程序到文件的路径
常用的文件操作创建文件创建文件对象相关方法,注意只有调用createNewFile才会创建文件
方式一:通过路径创建文件对象,并创建文件
1234567891011@Test public void create01() { String filePath = "e:\\JavaFile\\1.txt"; File file = new File(filePath); try { file.createNewFile(); System.out.println("...
Java笔记在韩顺平老师的Java课程中会结合一个坦克大战的实战项目,我急功近利,就不写坦克大战的编写了,只学Java中最核心的几个知识点
java绘图坐标体系
基本概念
在Java中坐标原点位于左上角,以像素为单位,x坐标代表距离竖坐标向右x个像素,而y代表位于横坐标的下y个像素
Java事件处理机制
java事件处理采取的是”委派事件模型”,当事件发生的时候,产生事件的对象,会把此信息传递给事件的监听者进行处理,事件在代码中体现为一个事件对象。
事件源:是一个产生事件的对象,比如按钮,窗口等
事件:事件就是承载事件源状态改变时的对象,比如说键盘事件,鼠标事件,窗口事件等等,会生成一个事件对象,保存当前事件的很多信息。
多线程基础单线程:同一个时刻只允许执行一个线程
多线程:同一个时刻可以执行多个线程,例如QQ打开多个聊天窗口
并发:同一个时刻,多个任务交替执行,给人以同时进行的错觉(单线程多任务)
并行:同一个时刻,多个任务同时进行(多核CPU可以支持并行)
可通过Java写一个返回可用CPU数量的代码
1234567public class CupNum { ...
Java笔记泛型使用案例我们先来看一个例子
运用集合来存储狗
1234567891011121314151617181920212223public class Generic_ { public static void main(String[] args) { ArrayList list = new ArrayList(); list.add(new Dog("旺财", 19)); list.add(new Dog("来福", 33)); list.add(new Dog("小黑", 12)); Iterator iterator = list.iterator(); while (iterator.hasNext()) { Dog d = (Dog) iterator.next(); System.out.println(d); ...
Java笔记Map接口定义及性质双列集合
存放的是K-V
Map接口下有三个重要的类Hashtable ,HashMap , TreeMap,其中HashMap时使用频率最高的
1.Map与Collection并列存在,保存具有映射关系的数据,Key-Value
2.Map中的key和value可以是任何引用类型的数据,会封装在HashMap$Node对象中
3.Map中的key不允许重复,原因和HashSet一样
4.Map中的key可以重复
5.Map中的key和value可以为null,但是key中的null只能有一个,而value不做限制
6.常用类String类可以作为Map的key
7.key和value之间存在单向的一对一关系,即通过指定的key总可以找到对应的value
8.map存放数据k-v,一对key-value是存放在HashMapNode中的
为了程序员遍历方便,还会创建EntrySet集合,该集合放入的是Entry(事实上是将EntrySet中的table 存储的Entry节点指向Map的Node)
1transient Node<K,V>...
Java笔记集合集合框架体系(要求记忆)
单列集合
Collection下有两大重要的接口一个List另一个为Set
双列集合
存放的是K-V
Map接口下有三个重要的类Hashtable ,HashMap , TreeMap
两个集合不同区别,存放数据的个数
123456789101112131415public class Collection_ { @SuppressWarnings({"all"}) public static void main(String[] args) { //单列集合 ArrayList arrayList = new ArrayList(); arrayList.add("A"); arrayList.add("B"); arrayList.add("C"); //双列集合 HashMap hashMap = new H...
自学第一月份总结 还是过的挺快的,从三月初决定不再考研开始,我投入了大量的时间去巩固Java的基础,也刷了很少的一部分面试算法题目,回顾了一些来自于之前课堂上的知识,例如操作系统,计算机网络等。
也是在这一个月中很幸运的收到了来自第一份正式的面试邀约,无论结果如何,都对我是一次很好的锻炼机会吧。我也明白,虽然自身能力目前还达不到找到工作的水准,但是我知道自己也是在不断地向前走的,回过来看一看我自己,相比刚来到大学的时候的青涩,不敢勇于表达而言,我在面试中可以较为完整的表达出来自自己的一些观点,有着自己的一些思考,算是不错的进步了。
从计划而言,原先的Java30天速成的计划可能得向后延期了,因为我发现,除了我原先想的知识以外,还有很多实用的Java外知识等着我去学习,如MySQL数据库,SQL注入,JDBC,正规式等要学完这一些,得再加上15天的时间,哎,总之继续努力吧。
在课余上,买了把吉他,天天都会把自己折磨的有点手疼,进步也是蛮快的,15天左右了,练了些基础上的内容,拿着变调夹也可以弹一些简单的安河桥之类的,晴天前奏(学会扫弦还不大可能)
感觉还是非常充实...
Java笔记MathMath类包含了执行基本数学运算的方法,如初等函数,对数,平方根,三角函数
常用的方法abs求绝对值12345public class Math01 { public static void main(String[] args) { System.out.println(Math.abs(-123));//123 }}
pow求幂12345public class Math01 { public static void main(String[] args) { System.out.println(Math.pow(2, 4));//16.0 }}
ceil向上取整返回大于等于这个数的最小整数
12345public class Math01 { public static void main(String[] args) { System.out.println(Math.ceil...
Java笔记包装类Wrapper(包装器)
定义针对八种基本的数据类型类型响应的引用类型
有类的特点,可以调用类的方法
除了 int -> Integer char- > Character 其余的六个都是将首字母大写就是对应的包装类
Boolean Byte Short Long Float Double
Boolean 与 Character 二者是实现了比较和可序列化的接口的Object子类
12public final class Boolean implements java.io.Serializable, Comparable<Boolean>
1class Character implements java.io.Serializable, Comparable<Character>
而这些数字的类型一般都是继承了Number类,而Number类是实现了可序列化的接口的Object子类,数字类型直接实现比较接口
图标如下
装箱与拆箱自动拆装箱,本质...
面试小结这一次面试没有想象中的那么压力山大,面试官也没有去死咬着某个知识点去提问,而是通过投递的简历来提问,其中计算机操作系统相关的题目较多,而我有对计算机系统方面的线程进程问题又比较了解,在这个部分表现得还算过得去,但是在于存储的方面我确实没有一个很好的实践积累,回答的大多都是在理论上的知识点,还有设备IO方面,我知道的也不是很多,面试官看我不是很清楚也就没有深挖。计算机网络相关的基础没有问到,不知道是不是看我的简历上有一两个网络编程的经验就跳过了。
缺少知识点:多线程相关的细节,Mysql,Redis,哈希表,红黑树
面试除了基础知识的提问,还考察了在设计项目上的思路,例如操作系统上如何去降低一个响应的时间:我除了进程之外也懂得不多,我就回答的是可以优化进程调度的一个策略,例如调整时间片大小,在线程之下创建亚线程。内存我直接不管了,另外加多CPU支持并行,多的我面试的时候也没有想到。
以下是AI生成的其他回答
123456789101112131415 I/O优化异步I/O:用非阻塞I/O(如epoll、io_uring)替代同步阻塞调用。缓冲和批处理:合并小I/O请求为大操...