
JavaSE
java
suan奶牛
博客内容均转自个人的OneNote笔记,为了节省时间并保留原有样式,大部分博文均以图片进行展示。
展开
-
socket编程(Java)
文章目录IPPORT协议TCPUDPIPIP地址的API:java.net.InetAddressIP地址分类:IPV4 / IPV6IPV4:如:127.0.0.1。4个字节(32bit)。42亿多(2^32)。30亿在北美,亚洲4亿。2011年用尽。IPV6:如:fe80::5594:3b26:bd74:92dc%19。16个字节(128bit,8个无符号整数)。公网 / 私网ABCD类地址测试InetAddressimport java.net.Inet原创 2021-08-16 22:00:23 · 381 阅读 · 0 评论 -
JDK1-16版本迭代、新特性
jdk的版本迭代:jdk1.0(1991.04) - jdk1.16(2021.03)内容总结于网络资源版本介绍Oak1991.04jdk1.01995.05:改名Java1996.01:新增技术特性:Applet、AWTJVM改进:Sun Classic VMjdk1.11997.02: 修正版本:1.1.0-1.1.8九个版本:JDK1.1.4-Sparkler(宝石)、JDK1.1.5-Pumpkin(南瓜)、JDK1.1.6-Abigail(阿比盖原创 2021-06-04 15:21:39 · 1305 阅读 · 0 评论 -
系统日志
记录系统日志LogUtil 代码:import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.PrintStream;import java.text.SimpleDateFormat;import java.util.Date;/** * 记录系统日志 */public class LogUtil { public static void log(String msg)原创 2021-05-23 14:24:16 · 66 阅读 · 0 评论 -
动态代理
原创 2021-05-23 14:23:44 · 76 阅读 · 0 评论 -
文件拷贝2
文件拷贝2代码:import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;/** * 使用 FileReader + FileWriter 拷贝文件(只能是普通文本文件) * 能用记事本打开的文件都是普通文本文件 * 普通文本文件不一定都是.txt结尾的,普通文本文件与后缀格式无关,.java文件可以拷贝 * *原创 2021-05-22 16:31:05 · 102 阅读 · 0 评论 -
蓝桥种树
蓝桥 种树问题问题描述:小明和朋友们一起去郊外植树,他们带了一些在自己实验室精心研究出的小树苗。小明和朋友们一共有 n 个人,他们经过精心挑选,在一块空地上每个人挑选了一个适合植树的位置,总共 n 个。他们准备把自己带的树苗都植下去。然而,他们遇到了一个困难:有的树苗比较大,而有的位置挨太近,导致两棵树植下去后会撞在一起。他们将树看成一个圆,圆心在他们找的位置上。如果两棵树对应的圆相交,这两棵树就不适合同时植下(相切不受影响),称为两棵树冲突。小明和朋友们决定先合计合计,只将其中的一部分树植原创 2021-05-22 16:30:43 · 198 阅读 · 0 评论 -
反射Constructor
根据 class 文件反编译得到 构造方法这属于反射的内容,这里的源代码只是反编译 Constructor 得到的构造方法不完整源代码代码:import java.lang.reflect.Constructor;import java.lang.reflect.Modifier;/** * 反编译一个类的Constructor *//** * public class Vip { * int no; * String name; * boolean原创 2021-05-22 16:30:11 · 115 阅读 · 0 评论 -
反射Field
根据 class 文件反编译得到 Java 源代码这属于反射的内容,这里的源代码只是反编译 Field 得到的成员变量不完整源代码不常用代码:import java.lang.reflect.Field;import java.lang.reflect.Modifier;/** * 根据class文件反编译得到java源代码 */public class ReflectFieldTest { public static void main(String[] args) {原创 2021-05-22 16:30:03 · 87 阅读 · 0 评论 -
反编译得到方法
根据 class 文件反编译得到 Java 源代码这属于反射的内容,这里的源代码只是反编译 Method 得到的方法不完整源代码不常用代码:import java.lang.reflect.Method;import java.lang.reflect.Modifier;public class ReflectMethodTest { public static void main(String[] args) { Class userServiceClass =原创 2021-05-22 16:29:51 · 146 阅读 · 0 评论 -
奇数偶数线程
奇数线程 + 偶数线程依旧是测试 Object 类的wait方法和notify方法效果:奇数线程输出奇数,偶数线程输出偶数,每次递增 1代码:/** * 奇数线程 + 偶数线程 */public class ThreadTest13 { public static void main(String[] args) { Num num = new Num(); Thread t1 = new Thread(new MyThread11(num)原创 2021-05-22 16:29:42 · 291 阅读 · 1 评论 -
生产消费模式
生产模式 + 消费模式重点:测试 Object 类的wait方法和notify方法代码:import java.util.ArrayList;import java.util.List;/** * 使用 wait 和 notify 方法实现 “生产者和消费者模式” * 两个线程共享一个仓库,用 List 集合模拟仓库 * 假设 List 集合中只能存储 1 个元素,1 个元素仓库就满了,0 个元素仓库就空了 * * 效果:生成 1 个,消费 1 个 */public class原创 2021-05-22 16:29:31 · 104 阅读 · 0 评论 -
多线程1
多线程 1方法一代码:/** * 实现线程的第一种方式 * 创建线程对象:new即可 * 启动线程:调用线程对象的start方法 */public class TreadTest01 { public static void main(String[] args) { // 这里的代码属于主线程,在主栈中运行 // 新建一个分支线程对象 MyThread myThread = new MyThread();// myTh原创 2021-05-22 16:29:21 · 80 阅读 · 0 评论 -
目录拷贝
目录拷贝import java.io.*;/** * 目录拷贝 */public class CopyAll { public static void main(String[] args) { File srcFile = new File("D:\\StudySource\\Java\\powernode\\文本笔记"); File destFile = new File("F:\\Java 目录拷贝\\"); copyAll(s原创 2021-05-22 16:29:10 · 71 阅读 · 0 评论 -
文件拷贝
文件拷贝代码:import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;/** * 使用 FileInputStream + FileOutputStream 完成文件拷贝 * 拷贝的过程:一边读,一边写 * 使用以上字节流拷贝文件时,文件类型随意,万能的,什么类型文件均可拷贝 */publ原创 2021-05-21 08:34:49 · 71 阅读 · 0 评论 -
FileInputStream 终级版
FileInputStream 终级版文件名称:text文件内容:public static void Main(String[] args){ System.out.println("Hello, World!");}````代码:````javaimport java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;/** * 一次读取多个字原创 2021-05-21 08:34:40 · 60 阅读 · 0 评论 -
FileInputStream 初入
FileInputStream 初入文本:temp(没有任何格式)文本内容:abcde代码:import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;public class FileInputStreamTest01 { public static void main(String[] args) { // 创建文件字节输入流对象原创 2021-05-21 08:34:29 · 273 阅读 · 0 评论 -
Map
Map 集合的遍历方式一:获取所有的 key(是一个 Set 集合),通过遍历 key ,来遍历 value这里又可以分两种方式:使用迭代器或者增强 for 循环 foreach这种方法效率低一些代码:import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set;/** * 遍历 Map 的方法 */public class MapTest02 {原创 2021-05-21 08:34:18 · 71 阅读 · 0 评论 -
链表
关于链表数据结构Java 中有个 LinkedList 集合,底层的数据结构就是双向链表数据结构,这个集合 Sun 已经帮我们写好了,这里以单向链表为例,写一个简单的集合方法,好帮助自己理解链表这种数据结构。单向链表的基本单元是节点(Node)节点包含两种属性:当前节点存储的数据 + 下一节点的内存地址以下代码包含两个类:链表类(代表的含义其实就是 Sun 写的集合接口)、节点类链表类:链表有 增、删、改、查、查询元素个数 等等方法,这里只实现往列表尾部添加元素的add方法和查询元原创 2021-05-21 08:33:49 · 72 阅读 · 0 评论 -
军队加武器
军队武器配置小实例一个军队类多个武器类有的武器可攻击,有的武器可移动让可移动的武器移动,让可攻击的武器攻击向军队添加武器,超出武器数目抛出自定义的异常代码如下:枪类:/* 手枪,可攻击 */public class Gun extends Weapon implements Attackable{ @Override public void shoot() { System.out.println("Gun shooting...");原创 2021-05-21 08:33:36 · 103 阅读 · 0 评论 -
Java模拟栈
Java 模拟“栈数据结构”这是之前学习中碰到的一个较好的实例,感觉很有意义,拿出来记录一下!设计的内容包括类、异常等。代码如下:首先定义一个 MyStack 类:/** * 模拟栈:使用一位数组模拟栈的数据结构,假设栈的默认容量为 5 * 实现功能: * 1、可以存储 Java 中任意类型的数据 * 2、提供 push 方法模拟压栈(栈满了,要有提示信息) * 3、提供 pop 方法模拟弹栈(栈空了,要有提示信息) * 4、设置栈帧,指向原创 2021-05-21 08:33:21 · 186 阅读 · 0 评论 -
随机数
生成 5 个不相同的随机数,放到一个数组中方案一public class RandomTest02 { public static void main(String[] args) { // 开辟数组空间 int[] arr = new int[5]; // 默认将数组中所有元素初始化为 0 for (int i = 0;i < arr.length; i++){ arr[i] = -1;原创 2021-05-21 08:33:07 · 88 阅读 · 0 评论 -
选择排序
关于选择排序法上一篇:冒泡排序记录一下关于 Java 数组中的另一个简单的算法:选择排序法算法原理:假设有一个整型一维数组 a = { 3,1,6,2,5 },要对该数组中的元素进行从小到大的排序。选择排序算法核心思想:每一次从数组中找出最小值(外层每循环一次,找到数组中最小的元素),拿着最小的元素与当前数组最前面的元素交换位置,每次外层循环结束后去除最小的元素(也就是最左边的元素),重复进行下去…**第一次参与比较的的数据:3 1 6 2 5第一次循环后的结果:1 3 6 2 5原创 2021-05-21 08:32:50 · 64 阅读 · 0 评论 -
元注解
原创 2021-04-30 09:40:51 · 72 阅读 · 0 评论 -
Override、Deprecated、SuppressWarnings
原创 2021-04-30 09:40:43 · 58 阅读 · 0 评论 -
注解
原创 2021-04-30 09:40:34 · 66 阅读 · 0 评论 -
可变长度参数
原创 2021-04-30 09:40:22 · 69 阅读 · 0 评论 -
反射泛型、注解信息
原创 2021-04-30 09:40:12 · 66 阅读 · 0 评论 -
反射Field、Method、Constructor
原创 2021-04-30 09:40:00 · 81 阅读 · 0 评论 -
反射机制
原创 2021-04-29 08:28:40 · 61 阅读 · 0 评论 -
静态语言、动态语言
原创 2021-04-29 08:28:30 · 69 阅读 · 0 评论 -
锁
原创 2021-04-29 08:28:17 · 77 阅读 · 0 评论 -
JVM内存模型
原创 2021-04-29 08:28:03 · 63 阅读 · 0 评论 -
Object类的wait方法和notify方法
原创 2021-04-29 08:27:49 · 140 阅读 · 0 评论 -
定时器
原创 2021-04-29 08:27:38 · 90 阅读 · 0 评论 -
守护线程
原创 2021-04-29 08:27:19 · 63 阅读 · 0 评论 -
多线程并发存在的问题和风险
原创 2021-04-29 08:27:03 · 245 阅读 · 0 评论 -
线程生命周期
Java 线程生命周期线程的 5 大状态:新建状态就绪状态运行状态阻塞状态死亡状态原创 2021-04-29 08:26:46 · 70 阅读 · 0 评论 -
Thread方法
原创 2021-04-29 08:26:27 · 64 阅读 · 0 评论 -
实现多线程
原创 2021-04-28 10:07:58 · 66 阅读 · 0 评论 -
多线程
原创 2021-04-28 10:07:41 · 69 阅读 · 0 评论