自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 volatile

​ [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jQEFRHmC-1678979497342)(E:\学习\图片\Thu, 14 Jul 2022 214022.png)]1)它确保指令重排序时不会把其后面的指令排到内存屏障之前的位置,也不会把前面的指令排到内存屏障的后面;即在执行到内存屏障这句指令时,在它前面的操作已经全部完成;只能保证读的原子性,不能保证写的原子性 多线程下会有读后读,造成写的错误。3)如果是写操作,它会导致其他CPU中对应的缓存行无效。

2023-03-16 23:12:01 320

原创 进程,线程,协程

**线程:**是操作系统能够运行的调度的最小单位。线程之间共享资源,6它被包含在进程之中,是进程中的实际运作单位协程,是一种比线程更加轻量级的存在,协程不是被操作系统内核所管理,而完全是由程序所控制(也就是在用户态执行)。这样带来的好处就是性能得到了很大的提升,不会像线程切换那样消耗资源协程:在单线程里实现多任务的调度,并在单线程里维持多个任务间的切换。(并发艺术)进程: 是系统进行资源费配基本单位,是操作系统结构的基础。下图是 Java 内存区域,通过下图我们从 JVM 的角度来说一下线程和进程之间的关系

2023-03-15 22:50:23 499

原创 Java集合类

第二句:可以用ArrayList中的所有的方法,因为ArrayList是实现list接口,所以调用方法比第一种要多,还可以使用list里没有的接口。在pom.xml文件中加入hutool的配置。第二种方法比第一种添加的方法性能更高。第一句:只能用list接口中的方法。运行结果:(并没有完全删除干净)来判断集合是否为null。不能一边遍历,一边删除。

2023-03-13 20:55:32 512

原创 JVM相关知识

当一个对象被实例化后,首先先尝试存在eden区,若Eden区存不下,将触发一次minor GC,若空间不够,则看存活区的空间是否够,要是够的话,将Eden区的存活时间长的对象放到存活区,将新创建的对象分配到Eden区,要是不够的话,看老年代的空间是否够,要是够的话,将存活区的存活时间比较长的对象存到老年代,然后将Eden区的存活时间比较长的存到存活区,将新创建的分配搭到Eden区。如果 不想浪费50%的空间,就需要有额外的空间进行分配担保,以应对被使用的内存中所有对象都100%存 活的极端情况。

2023-03-10 23:39:09 669

原创 java开发手册之工程结构

说明:操作系统默认 240 秒后,才会关闭处于 time_wait 状态的连接,在高并发访问下,服务器端会因为处于 time_wait的连接数太多,可能无法建立新的连接,所以需要在服务器上调小此等待值。如果有改变,必须明确评估和验证,建议进行 dependency:resolve 前后信息比对,如果仲裁结果完全不一致,那么通过 dependency:tree 命令,找出差异点,进行排除 jar 包。说明:OOM 的发生是有概率的,甚至有规律地相隔数月才出现一例,出现时的现场信息对查错 非常有价值。

2023-03-09 23:07:44 311

原创 Java开发手册之MySQL数据库

说明:以学生和成绩的关系为例,学生表中的 student_id是主键,那么成绩表中的 student_id则为外键。如果更新学生表中的 student_id,同时触发成绩表中的 student_id 更新,即为级联更新。说明:float 和 double 在存储的时候,存在精度损失的问题,很可能在值的比较时,得到不 正确的结果。如果存储的数据范围超过decimal 的范围,建议将。说明:索引的长度与区分度是一对矛盾体,一般对字符串类型数据,长度为 20 的索引,区分度会高达 90%以上,可以使用。

2023-03-08 22:31:48 637

原创 java开发手册之安全规约

对于存在CSRF 漏洞的应用/网站,攻击者可以事先构造好 URL,只要受害者用户一访问,后台便在用户不知情情况下对数据库中用户参数进行相应修改。说明:Java代码用正则来验证客户端的输入,有些正则写法验证普通用户输入没有问题,但是如果攻击人员使用的是特殊构造的字符串来验证,有可能导致死循环的结果。说明:防止没有做水平权限校验就可随意访问、修改、删除别人的数据,比如查看他人的私信内容、修改他人的订单。说明:查看个人手机号码会显示成:158****9119,隐藏中间 4 位,防止隐私泄露。

2023-03-07 22:08:28 377

原创 java开发手册之单元测试

说明:单元测试在线上运行时,感觉像空气(AIR)一样并不存在,但在测试质量的保障上,却是非常关键的。好的单元测试宏观上来说,具有。说明:只有测试粒度小才能在出错时尽快定位到出错位置。单测不负责检查跨类或者跨系统的交互逻辑,那是集成测试的领域。说明:新增代码及时补充单元测试,如果新增代码影响了原有单元测试,请及时修正。说明:源码构建时会跳过此目录,而单元测试框架默认是扫描此目录。

2023-03-06 21:02:01 407

原创 java开发手册之异常日志

异常处理和日志规约

2023-03-03 22:38:43 1050

原创 java开发手册之编程规约

编程规约命名风格常量定义代码格式OOP规约集合处理并发处理控制语句注释规约其它

2023-03-02 21:09:57 791

原创 数据库设计规范

id等数字类型的字段,不能只是bigint,应该是bigint unsigned。​ (没有默认值,查出来为null;有默认值,查出来的是空字符串)varchar默认长度为32,不要用255。尽可能的去遵循三大范式(数据库的三大范式)所有字段都必须是非null,必须有默认值。所有的表都必须有几个公共字段。

2023-03-01 18:53:55 167

原创 数据库三大范式

要求任何字段不能由其他字段派生出来,它要求字段没有冗余,即不存在传递依赖。第三范式需要确保数据库表中的每一列数据都和主键直接相关,而不能间接相关。确保数据库表中的每一列都和主键相关,而不能只与主键的某一部分相关。范式是数据库设计时遵循的一种规范,不同的规范要求遵循不同的范式。,要求记录有唯一标识,即实体的唯一性,即不存在部分依赖。要求数据库的每一列都是不可以再分的。,要求属性具有原子性,不可再分解。第二范式要求每张表只描述一件事。第二范式的前提:满足第一范式。前提:满足第一范式和第二范式。

2023-03-01 18:47:28 99

原创 HashMap

hashMap

2023-02-18 21:27:08 843

原创 object类的equals和hashCode

Object类中的equals方法和hashCode方法

2023-02-17 03:00:00 470

原创 三次握手和四次挥手

三次握手和四次挥手,相关问题

2023-02-16 23:04:10 564 1

原创 多态和可变参数

多态和可变参数

2023-02-16 22:54:15 348

原创 规范数据库的设计

规范数据库设计

2022-12-29 14:23:33 513 2

原创 权限管理和备份

mysql的权限管理和备份

2022-12-26 23:24:20 107

原创 MySQL索引

索引分类,简单的插入一万条数据测试索引以及索引的原则

2022-12-26 22:37:48 226

原创 MySQL函数

常见函数,聚合函数,MD5加密以及select的使用总结

2022-12-22 23:18:30 112

原创 DQL查询数据

查询select的应用

2022-12-21 22:58:18 290

原创 MySQL的数据管理

数据库的增删改

2022-12-19 23:07:24 591

原创 仿写BitMap源码

bitmap校验某一个数字有没有出现过

2022-12-13 22:25:32 176

原创 初识mysql

初步认识mysql

2022-12-09 22:33:39 279

原创 mysql事务

mysql事务是什么,ACID原则:原子性,一致性,隔离性,持久性 (脏读,幻读)

2022-12-06 11:02:18 1076

原创 Linux安装iptables

安装iptables

2022-12-05 22:58:10 640

原创 Mybatis-Plus学习

MyBatis-Plus 是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。新建项目pom.xml添加配置application.yml配置建一个entity的软件包,一个user类建一个mapper包,下面建立一个UserMappe接口在test下建立一个测试类UserTest

2022-12-04 15:31:31 447 1

原创 String StringBuffer StringBuilder

String和StringBuffer,StringBuilder的区别有哪些?所有类名包含Buffer的类的内部实现原理是什么?有什么优势?

2022-10-17 21:46:34 277

原创 finally的作用

try catch finally 长链接,短链接

2022-10-17 21:32:37 466

原创 双重校验锁

双重校验锁的内容

2022-10-13 21:25:05 519

原创 对象访问定位

使用句柄和直接指针两种方式

2022-10-08 21:37:40 218

原创 JVM的运行时数据区域和对象的内存布局

JVM的运行时数据区域对象的内存布局

2022-10-08 21:29:39 269

原创 JVM是如何分配内存空间的

整个JVM都是围绕着这句代码为什么能运行,是怎么运行的,怎么处理会运行的更好?

2022-10-08 21:13:28 154

原创 synchronized的实现原理与应用

对象头,轻量级锁,偏向锁

2022-09-25 11:15:31 260

原创 浅谈一下128陷阱

对128陷阱的理解

2022-08-12 21:50:48 205

原创 多态的练习

对于多态的一个练习

2022-08-11 15:42:30 131

原创 在一个页面实现数据库的增删改查

在一个页面内实现数据库的增删改查用到了servlet

2022-08-05 22:28:07 2574

原创 力扣561. 数组拆分

数组拆分--java

2022-07-31 03:00:00 292

原创 力扣860. 柠檬水找零---贪心算法

贪心算法解决柠檬水找零问题---java

2022-07-30 22:40:52 265

原创 力扣455. 分发饼干---贪心算法

用贪心算法解决分发饼干---java

2022-07-30 22:29:15 245

空空如也

空空如也

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

TA关注的人

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