自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 注解和反射的简单学习

注解和反射 1.1 什么是注解 Annotation是从JDK5.0开始引入的新技术. Annotation的作用: 不是程序本身,可以对程序作出解释.(这一点和注释(comment)没什么区别) 可以被其他程序(比如:编译器等)读取 Annotation的格式: 注解是以"@注释名"在代码中存在的,还可以添加一些参数值,例如:@SuppressWarnings(value=“unchecked”). Annotation在哪里使用? 可以附加在package,class,method,fi

2021-01-26 00:09:49 162

原创 网络编程的简单学习

网络编程 1.1 TCP实现聊天 server端的代码如下: public class TcpServerDemo01 { public static void main(String[] args) { ServerSocket serverSocket = null; Socket socket = null; InputStream inputStream = null; ByteArrayOutputStream byteArr

2021-01-25 17:32:55 176

原创 线程池的简单使用

线程池 使用线程池 背景:经常创建和销毁、使用量特别大的资源,比如并发情况下的线程,对性能影响很大。 思路:提前创建好多个线程,放入线程池中,使用时直接获取,使用完放回池中。可以避免频繁创建销毁、实现重复利用。类似生活中的公共交通工具。 好处: 提高响应速度(减少了创建线程的时间) 降低资源消耗(重复利用线程池中的线程,不需要每次都创建) 便于线程管理(…) corePoolSize:核心池的大小 maximumPoolSize:最大线程数 keepAliveTime:线程没有任务时最多保持多长时间后

2021-01-25 13:41:09 142

原创 生产者消费者问题

生产者消费者问题 1.管程法 测试代码如下: //测试:生产者消费者模型-->利用缓冲区解决:管程法 public class TestPC { public static void main(String[] args) { SynContainer synContainer = new SynContainer(); new Productor(synContainer).start(); new Consumer(synContainer)

2021-01-25 13:18:44 138

原创 synchronized学习

synchronized解决三大不安全案例 1.UnsafeTicket 测试代码如下: public class UnsafeTicket { public static void main(String[] args) { BuyTicket buyTicket = new BuyTicket(); new Thread(buyTicket,"小明").start(); new Thread(buyTicket,"黄牛").start();

2021-01-25 11:00:10 119

原创 实现多线程的三种方法

实现多线程的三种方法 1.继承Thread 测试代码如下: //创建线程方式一:继承Thread类,重写run()方法,调用start开启线程 //注意:线程开启不一定立即执行,由CPU调度执行 public class TestThread1 extends Thread { @Override public void run() { for (int i = 0; i < 10; i++) { System.out.println(Threa

2021-01-24 20:37:49 210

原创 九九乘法表与三角形

九九乘法表与三角形 九九乘法表 测试代码如下: public static void main(String[] args) { for (int i = 1; i <= 9; i++) { for (int j = 1; j <= i; j++) { System.out.print(j + "*" + i + "=" + i*j + "\t"); } System.out.

2021-01-23 21:42:09 198

原创 Scanner学习

Scanner学习 next() 一定要读取到有效字符后才可以结束输入。 对输入有效字符之前遇到的空白,next()方法会自动将其去掉。 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。 next()不能得到带有空格的字符串 ​ 测试代码如下: public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入:")

2021-01-23 21:19:55 139

原创 markdown学习

Markdown学习 标题 三级标题 四级标题 字体 Hello,World! Hello,World! Hello,World! Hello,World! 引用 good morning 分割线 图片 超链接 点击打开百度 列表 A B C A B C 表格 名字 性别 生日 张三 男 2000.08.01 代码 public void main ...

2021-01-23 13:35:19 92

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除