
基础
Java-语法 基础
IT_10-
我爱编程 编程爱我❤️
展开
-
线程池使用总结
不是线程的安全面试官问:“什么是线程安全”,如果你不能很好的回答,那就请往下看吧。论语中有句话叫“学而优则仕”,相信很多人都觉得是“学习好了可以做官”。然而,这样理解却是错的。切记望文生义。同理,“线程安全”也不是指线程的安全,而是指内存的安全。为什么如此说呢?这和操作系统有关。目前主流操作系统都是多任务的,即多个进程同时运行。为了保证安全,每个进程只能访问分配给自己的内存空间,而不能访问...原创 2019-12-02 19:30:15 · 871 阅读 · 0 评论 -
浅拷贝 深拷贝
1.应用程序处理(1)A用户启动邮件应用程序,填写收件人邮箱和发送内容,点击“发送”,开始TCP/IP通信;(2)应用程序对发送的内容进行编码处理,这一过程相当于OSI的表示层功能;(3)由A用户所使用的邮件软件决定何时建立通信连接、何时发送数据的管理,这一过程相当于OSI的会话层功能;(4)现在可以发送了,就在发送的那一刻,建立连接,通过这个TCP连接发送数据。首先是将应用层数据发送给下...原创 2019-12-20 21:30:38 · 404 阅读 · 0 评论 -
BIO、NIO、Netty
IO与NIOIONIO面向流(Stream Oriented)面向缓冲区(Buffer Oriented)单线传输双向传输阻塞IO(Blocking IO)非阻塞IO(Non Blocking IO)–选择器(Selectors)传统IO中,“流”就是一个用于数据传输的管道,是一个单向管道,即读取加载磁盘\网络数据时,需要建立一个输入流,将数据...原创 2020-03-27 21:08:22 · 671 阅读 · 0 评论 -
可重入锁和不可重入锁
锁锁就是把代码块、资源或数据(称为临界资源)锁上,访问临界资源的时候只允许一个线程去操作,其他线程必须等待或者放弃,这是为了保证最终程序的正确运行。不可重入锁public class Lock { private boolean isLocked = false; // 标识锁是否被线程获得 public synchronized void lock() throws In...原创 2020-03-15 23:40:22 · 284 阅读 · 0 评论 -
Java中的Serializable接口
SerializableSerializable接口的定义:public interface Serializable {}该接口没有任何属性和方法,这样的接口称为标识接口。标识接口:只是起标识作用,而不解决实际问题,实际问题交给其他机制处理。如上课的时候,学生举手问老师问题,老师帮他解答,其实学生举手就是一个标识,说明自己无法解决某个问题,请求帮助。Java中的Serializabl...原创 2020-03-15 22:05:43 · 741 阅读 · 0 评论 -
Java 遍历集合时删除元素 快速失败和安全失败
遍历集合时删除元素的五种操作import java.util.ArrayList;import java.util.Iterator;import java.util.List;public class Test { public static void main(String[] args) { List<String> list = new Arr...原创 2020-03-14 11:31:44 · 1419 阅读 · 1 评论 -
Comparable接口和Comparator接口的使用和区别
ComparableComparable接口在JDK8中的源码:package java.lang;import java.util.*;package java.lang;public interface Comparable<T> { public int compareTo(T o);}用法:public class User implements C...原创 2020-03-09 11:30:29 · 33359 阅读 · 3 评论 -
Java 多线程、线程安全、线程间通信
创建线程Java使用 java.lang.Thread 类代表线程,所有的线程对象都必须是Thread类或其子类的实例。Thread类public class MyThread extends Thread{ public MyThread(String name) { //调用父类的String参数的构造方法,指定线程的名称 super(name);...原创 2020-01-22 17:32:00 · 624 阅读 · 0 评论 -
Java new一个对象的过程中发生了什么
java在new一个对象的时候,会先查看对象所属的类有没有被加载到内存,如果没有的话,就会先通过类的全限定名来加载。加载并初始化类完成后,再进行对象的创建工作。我们先假设是第一次使用该类,这样的话new一个对象就可以分为两个过程:加载并初始化类和创建对象。一、类加载过程(第一次使用该类)java是使用双亲委派模型来进行类的加载的,所以在描述类加载过程前,我们先看一下它的工作过程:双亲委托...转载 2020-01-13 12:04:45 · 265 阅读 · 0 评论 -
Java 反射机制详解及其API
简介反射:将类的各个组成部分封装为其他对象。结合下面的图解释就是将类的成员方法、成员属性、构造方法分别封装成Method数组、Field数组、Controller数组。百度百科对反射的定义:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。那么...原创 2020-01-07 17:19:28 · 354 阅读 · 0 评论 -
Java 动态代理详解以及在Spring事务控制中的使用案例
准备前期代码public interface IProducer { /** * 销售 * @param money */ public void saleProduct(float money); /** * 售后 * @param money */ public void afterProduct(...原创 2020-01-04 21:33:22 · 375 阅读 · 0 评论 -
Java集合总结
第一步:打开计算机能够设置家庭组的权限因为Win7打开家庭组时,默认情况下会出现“此计算机无法连接到家庭组”的情况,通过这个链接可以打开权限 http://www.win7zhijia.cn/jiaocheng/win7_6134.html第二步:创建家庭组以及其他计算机加入家庭组https://jingyan.baidu.com/article/d5c4b52b86e941da57...原创 2018-07-06 19:34:50 · 2361 阅读 · 0 评论 -
String StringBuffer StringBuilder介绍
以发送电子邮件举例详解OSI7层参考模型中每一层的作用,A用户向B用户发送一封内容为“您好,我是A”的邮件7 应用层用户A编辑完内容后点击“发送”的那一刻,就进入应用层协议的处理。该协议会在所要传输的数据首部添加首部信息,该首部信息表明邮件内容和收件人。当主机B上的应用层收到A发送来的数据后,分析数据首部和数据正文,并将邮件保存到硬盘或其他存储设备,如果主机B是的收件人由于邮件空间已满...原创 2018-07-19 16:53:45 · 1531 阅读 · 0 评论 -
Java类和对象总结
实例1: var s = “hello javascript!”; //定义一个字符串 var world = s.substring(s.indexOf(” “)+1, s.length); //使用字符串的属性 实例2: var s=”“test”; //创建一个字符串 s.len=4; //给字符串设置一个属性 var t=s.len; //查询这个属性 结果: 在实例1中,...原创 2018-07-04 15:48:21 · 757 阅读 · 0 评论