自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java并发知识点

同步代码块monitorenter、monitorexit来标识,同步代码块是通过monitorenter指令进入,monitorexit释放锁,在执行monitorexit之前需要尝试获取锁,如果对象没有被锁住,或者当前线程已经拥有了这个对象的锁,那么锁计数器+1,当执行monitorexit指令时,计数器-1,获取锁失败就阻塞,直到释放锁。他们的底层实现其实都一样,在进入同步代码之前先获取锁,获取到锁之后锁的计数器+1,同步代码执行完锁的计数器-1,如果获取失败就阻塞式等待锁的释放。...

2022-07-19 19:03:49 451 1

原创 Guava-Splitter

这里返回的SplittingIterator继承了AbstractIterator,而AbstractIterator是Iterator的实现类,AbstractIterator使用私有的枚举变量state来记录当前的迭代进度,比如是否找到了下一个元素,迭代是否结束等。Splitter可以根据字符、字符串、正则、长度还有Guava自己的字符匹配器CharMatcher来拆分字符串,基本上每种匹配模式的查找方法都不太一样,但是字符拆分的基本框架又是不变的,所以策略模式正好合用。...

2022-07-19 19:02:45 1013

原创 BlockingQueue

获取元素阻塞的方式就是通过notEmpty和notFull来进行通知,如果获取数据,队列为空这个时候notEmpty就会await()获取元素的方法线程就会等待,等到下一个线程添加元素进入到enqueue()方法就会notEmpty.signal()通知可以进行获取。如果队列满了notFull就会await(),此时这个线程就会阻塞,等到一下次别的线程获取队列元素就会通知notFull.signal(),此时获取到锁的现在就不阻塞并添加元素进队列。2、add(e),不阻塞,会抛出异常,。...

2022-07-19 19:01:12 119

原创 SSM+thymeleaf整合,思路超级清晰!!!

SSM整合配置 整合SSM,首先第一步就是要创建好一个Maven项目;其次就是依赖;最后就是繁琐的配置文件啦!!!内容具体如下: 打开Java编译软件,创建Maven工程,相信已经SSM整合了,就不用截图一步一步创建Maven项目了把; 创建好Maven项目添加Web支持 勾选:Web Application 然后配置tomcat我相信自己肯定会弄了,我就直接开始下面内容把! 导入依赖 因为我们创建的是SSM项目,首先考虑到依赖的jar包: 单元测试:junit 日志:slf4j+log4j2 数

2020-12-15 22:30:14 2246 1

原创 hashCode与equals的关系!!!

hashCode与equals 为什么重写 equals 时必须重写 hashCode 方法? hashCode: 作用:获取哈希码,也成为散列码;实际上就是一个int类型的整数。哈希码的作用也就是确定这个对象在散列表中索引的位置。hashCode这个方法存在于Object类中,所以任何类都包含了hashCode这个函数。 为什么要有hashCode? 上面说了hashCode就是确定其在散列表中的位置,例如一个类重写了hashCode方法存储于散列表中,就可以根据这个hash值来快速索引到对

2020-12-15 20:33:46 76

原创 C语言创建TCP连接

[TCP编程] 服务端: 1、加载套接字,版本号,创建协议:socket();(服务端地址可接受任何IP) 2、绑定IP,端口 接口sockaddr_in 方法:bind(); 3、增加监听 list; 4、循环接收数据 accept()接受客户端的请求; 4、发送,接受:send(),recv(). #include <stdio.h> #include <...

2019-06-02 20:45:18 764

原创 Mysql-connector-java(5.1)版本以上连接错误

mysql-connector-java:8.0连接错误问题 连接com.mysql.jdbc.Driver报错 报错代码: try { Class.forName("com.mysql.jdbc.Driver"); Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/te...

2019-04-09 19:39:45 1930

原创 JavaIO流章节手动笔记

IO流章节知识点 一、节点流:离数据流|程序最近的流 1、字节流:可以处理一切(纯文本,音频,视频,图片) 1)、输入流 :InputStream FileInputStream ByteArrayInputStream 操作 read()输出、拷贝 2)、输出流: OutputStream FileOutputStream ByteArrayOutputStream 操作 write()输入...

2019-03-10 18:28:45 108

原创 线程知识点手动笔记

线程方面笔记 概念 一、程序 进程 线程 1、程序:指令集 静态概念 2、进程:操作系统 调度程序 动态概念 3、线程:在进程内多条执行路径 创建 一、继承Thread+run() 启动:创建子类对象+对象.start() 二、实现Runnable+run() 启动:使用静态代理 1、创建真实角色 2、创建代理角色+Threaad+引用 3、代理角色.start() 推荐使用接口 1、避免单继承...

2019-03-10 18:11:29 117

原创 栈的应用,小型计算器

C语言栈应用四则运算计算器运动到栈的最基本的几个增删的功能。 举例12+83+(2+32) 栈的存放:12 8 3*+(2 3 2*+)+ 运算规律:首先往数据栈里面存放数据,一旦遇到运算符就放到运算符栈里面,直到第二个数据,第二个运算符然后比较优先级,如上例子数据栈存放就是12 8 符号栈存放的就是+ *,然后遇到+比 ✖的运算符低3首先存放数据栈,然后8和3进行乘法运算数据栈里面就变成...

2019-02-14 22:55:44 172

原创 KMP简易记住next数组值

对于KMP算法简易的记住next数组值 其实对于KMP算法中的next函数值只和模式串有关,而与母串毫无关系,只要针对子串就行了。 例如:序 号 1 2 3 4 5 6 7 8 模式串 T: a b a a b c a c 之后我们把前缀和后缀求出来: a a b a ...

2018-12-03 21:38:35 293

空空如也

空空如也

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

TA关注的人

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