- 博客(16)
- 资源 (1)
- 收藏
- 关注
原创 多线程难点
AQS的本质就是维护一个数据变state和一个CLH队列,通过这个实现独占锁、共享锁两种锁的方式1.ReentrantLock(独占锁)将state初始值设置为0,如果cas设置1成功就是获取锁,其他的先线程就会放到CLH中阻塞,等待线程唤醒。重入特质就是一直在state上面自增1,然后释放的时候就对应的释放,等到为0的时候就唤醒下一个线程2.CountDownLatch(共享锁)
2024-05-08 16:12:33
466
原创 MarkDown学习
Markdown学习标题:#+空格 一级标题##+空格 二级标题三级标签字体hello,Word!hello,Word!hello,Word!hello,Word!hello,Word!引用摘抄别人的东西分割线三个-是分割线三个*也是分割线图片[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Uhz3IpHE-1603946667699)(C:\Users\admin\Desktop\frmsbszhang.png)]格式:[外链图片转
2020-10-29 12:48:49
166
原创 JUnit
单元测试 检验被测代码的一个有明确功能的小模块是否正确白盒测试开发人员是最大的受益者// 组合测试@RunWith(Suite.class)@SuiteClasses({V1AllTest.class.V2AllTest.class})Assert.asserEquals()Assert.assertTrue()Assert.asserNotNull()Assert.assertArrayEquals()// 强制失败Assert.fail();@Test(expected =
2020-07-27 23:03:56
282
原创 Java基础-流操作
– java基础流的操作基本概念:(两个层次结构)可以从其中读入一个字节序列的对象称为输入流可以从其中写入一个字节序列的对象称为输出流抽象类InputStream 和OutputStream 构成I/O类层次基础因为面向字节的流不便于处理Unicode形式的数据(多字节表示字符),所以从Reader和Writer抽象类中继承出一个专门用于处理Unicode的单独类层次结构,这些类读取和写入都基于两字节的Char值方法结构InputSteam(这个读是往程序读入,即输入)Abstract in
2020-07-09 00:19:07
286
原创 Sevelt基础-获取参数-转发和重定向区别
重定向和转发的区别1.转发由服务器跳转,对浏览器透明,实际只是一场request请求,request域通讯是用的同一个request2.重定向是浏览器再次请求,两个request请求,所以重定向的request和response不是和之前同一个3.资源地址怎么写,重定向是服务器内部跳转的,所以不用写应用名,即/资源名 例如 /index.js/代表的是应用根目录,转发是外部请求,所以需要有web应用名即 /应用名/资源名 例如 /code-web/index.js4.重定向可以到任何一个站点,转.
2020-07-02 00:16:51
601
原创 Servlet基础-文件下载-数据压缩
下载图片也是通过字节流写入到浏览器,但是会在head中通知浏览器是文件的下载。head还有许多其他的用处,用于服务器指示浏览器操作,具体后面会总结图解http压缩图片简单应用
2020-06-30 23:47:11
199
原创 Servlet基础-读取资源-返回读取格式异常分析
1.以前读取文件的时候,如果程序和文件在同一包名,可以直接通过文件名称获取得到的!,原因很简单,以前我们写的程序都是通过JVM来运行的,而现在,我们是通过Tomcat来运行的2.根据web目录规范,Sevlet编译后是放到WEB-INF/classes目录的,所以要访问放到Servlet的同包图片,我们得进入classes去读取读取方式1.通过绝对路径去读取打包后的图片2.通过ServletContext读取3.通过类加载器去读取(文件太大会刀子内存溢出)maven打包的时候资源文件只有在r.
2020-06-29 00:25:00
191
原创 强引用、软引用、弱引用和幻想引用
强引用、软引用、弱引用、幻象引用有什么区别?具体使用场景是什么?概论:引用是javaGC回收的一种识别机制,在对象处于不同引用情况下,GC对对象的回收也不一样强引用:对对象的直接的引用,一般的new创建对象,或者将一个对象赋值给一个引用类型就是强引用,强引用是最常见的,只要对象有还有强引用指向,那么对象就是"活着",GC并不会回收这些对象。而解除强引用可以把引用赋值为null,那对象就没有强引...
2020-03-20 10:14:18
216
原创 并发编程-创建子线程方法
优缺点:继承Thread参数可以作为子线程类字段,然后使用set传递,而实现Runable只能使用局部变量或者 static 的 字段,但是继承Thread不能继承其他的类,局限了接受其他的代码。而两者的run不能返回值,而futureTask方式则有返回值1.继承Thread的类继承Tread类并重写run()方法,在主线程的调用方法中用创建对应的对象,调用委托的新建Thread类对象或者自...
2020-01-14 15:57:34
205
原创 代码重构笔记(函数重新组织)
Inline Temp 内联临时变量动机:临时变量影响了其他构造方法当程序有一个临时变量只被赋值一次,而且影响到了其他的重构,那么我将这个变量去除,用赋值给他的表达式来替换临时变量;确认等式右边的表达式无副作用然后尝试将临时变量声明为final,确定只赋值一次替换临时变量Replace Temp with Query当临时变量保存一个运算结果或者查询结果,将表达式提取到一个独立函数...
2020-01-14 11:21:52
287
原创 第四章-DML,DDL和DCL语言
DML语言数据的插入单行插入insert into table1 (列名) values (列值);insert into table1 (列名) set (列值);多行插入inset into table1 (列名) values (列值),(列值);注:列名和列值的数量要相同而且一 一对应,不能为null的列都要给值列名可以隐去,这样相当所有列都赋值,如果可以为null要...
2019-12-27 15:26:48
217
原创 MYSQL第三章-DQL语言
– https://www.runoob.com/mysql/mysql-functions.html 手册基本查询select 列名 as 别名 from 表别名如果有特殊字符要用‘’引起来条件查询select 列名 as 别名 from 表 where 条件条件运算符: < , > , = , != , >=, <=, <>(不等)...
2019-12-26 11:38:46
196
原创 MYSQL第二章-常用命令规范和SQL概述
常用命令和规范– 启动服务net start/stop mysqlmysql -h 主机ip -u 用户名 -p 密码exit规范:不区分大小写用;或/g结束关键字不能换行多行注释 /**/单行注释 # 或 –– 显示数据库show DATABASES;– 连接到某个数据库USE glsx_ddh;– 查询当前数据库SELECT DATABASE();– 显示...
2019-12-23 14:52:15
318
原创 MYSQL第一篇
入坑mysql第一篇explain Sql 进行对于sql的效率展示运行后的部分字段:id : 每个被独立执行的操作标识,标识对象被操作的顺序,id值越大,先被执行,如果相同,执行顺序从上到下select_type:查询中每个select 字句的类型partitions:匹配的分区信息(对于非分区表值为NULL)type:从最好到最差的连接类型为const、eq_reg、ref、ra...
2019-12-18 16:29:07
146
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅