技术深研
文章平均质量分 72
用于记录技术深度研究
张童瑶
现任某厂Java高级开发工程师,励志成为一名资深架构师,尽自己最大努力用有趣的方式让大家轻松汲取到底层原理知识!
展开
-
Java lock和synchronized有什么区别?
震惊,我只能说震惊!根据当事人不知道叫什么,咱们况且先叫某猫吧!看到这个回答我也是惊掉下巴了,一本正经的回答,还tn的都挺对。天气晴朗,万里无云,我在群中随便了问了个问题。原创 2023-04-04 17:16:45 · 134 阅读 · 0 评论 -
Java 双亲委派
2、避免核心类被串改:Java的核心API都是通过引导类加载器进行加载的,如果别人通过定义同样路径的类比如java.lang.Integer,类加载器通过向上委托,两个Integer,那么最终被加载的应该是jdk的Integer类,而并非我们自定义的,这样就避免了我们恶意篡改核心包的风险。一个应用程序总是由n多个类组成,Java程序启动时,并不是一次把所有的类全部加载后再运行,它总是先把保证程序运行的基础类一次性加载到jvm中,其它类等到jvm用到的时候再加载。每个类加载器都有一个父加载器。转载 2023-03-30 22:20:03 · 113 阅读 · 0 评论 -
Java 内存结构和内存模型
新生代(Young Generation)主要是用来存放新生的对象。新生代又被进一步划分为Eden区(伊甸园区)和Survivor区(幸存区,包含空间相等的S0、S1区,或者说From、To区,没有先后顺序,是Copying算法的需要)。大多数情况下,java中新建的对象都是在新生代上分配的,通过Copying算法来进行分配内存和垃圾回收。原创 2023-03-30 21:29:43 · 604 阅读 · 0 评论 -
SpringBoot @Transactional事务详解
当Java中一个方法内有多次对数据库的增删改查等操作,并且这些操作之间有一些关联关系,如果方法执行一半出问题报错,后面的操作将不会执行,造成数据异常,但是使用了事务以后可以如果中途执行失败,可以回退到方法执行之前,保证数据不出问题。事务要么全部都被执行,要么就全都不被执行,如果有子事务提交失败,那么其他子事务对数据库的操作将被回滚,数据库回到事务提交前的状态;注解,默认会回滚所有事务,前提下,一定要主动抛出异常,否则事务是不会生效的。下面是异常类和子类关系图,@Transactional,不加任何参数时,原创 2023-03-30 16:22:56 · 3410 阅读 · 1 评论 -
使用 Wall 搭建个人照片墙和视频墙
这里用的是Wall,它是国内的一款开源程序,轻量、跨平台性高,源代码是用的Vue+SpringBoot开发的,有兴趣的可以去看一下代码。3、修改后端服务config/application.yml配置文件,并修改你本地的MySQL数据库连接端口及账号密码。前提下你有一台云服务器,如果没有云服务器,那么本地系统搭建也可以,只不过只能实现内外访问。wall-service-1.0.0:是编译好的后端jar程序。4、后端支持两中环境下快捷启动,自带JDK,无需安装,直接启动。wall文件夹:是编译好的前端页面。原创 2023-03-08 09:45:54 · 6775 阅读 · 23 评论 -
SpringBoot Session详解及做验证码发送
不得不说,Session相对保存一些数据比cookie安全,但是一般都用于保存验证码,session通俗的讲就是会话,数据都是保存在后端的,所以安全。原创 2022-07-18 15:18:39 · 574 阅读 · 0 评论 -
SpringBoot 获得编译后的指定文件和源码指定文件路径
首先,在你代码开发的过程中,SpringBoot获或者地址,基本上都是你的源代码的目录文件。代码编译过后,达成jar或者war,在获取或者地址时,是你编译后的目录文件,也就是当前运行的jar文件中的文件或者时当前在tomcat中的war文件目录。下面拿获取resource目录为示例演示。这种方式在本地测试是没有问题的,但是打成jar包之后不行。获取项目中的根绝对路径输出的就是:C:\Users\test\Desktop\TongYao其他的有很多获取路径的方式,抽时间给大家分享,还是本篇文章,如果没原创 2022-07-12 11:48:28 · 2255 阅读 · 1 评论 -
Restful 风格
先简单看一下一、什么是API?API(Application ProgrammingInterface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。——百度百科简单来说就是:别人写好代码,编译号程序,可以让其他人调用使用,就称作API。你使用了别人代码(或者程序)中的某个函数、类、对象,就叫做使用了某个API。二、restful是什么?restful是一种软件架构风格、设计风格,原创 2021-12-15 09:48:18 · 352 阅读 · 1 评论 -
国内开源镜像网站列表
一、站点版(一)、商业巨头的开源镜像站1.搜狐:http://mirrors.sohu.com/2.网易:http://mirrors.163.com/3.阿里云:http://mirrors.aliyun.com/4.腾讯:http://android-mirror.bugly.qq.com:8080/(仅针对APP开发的软件,限流,不推荐)5.华为:https://mirrors.huaweicloud.com/(二)、教育站1.上海交通大学:http://ftp.sjtu.edu.cn原创 2022-04-07 09:56:45 · 914 阅读 · 0 评论 -
MySQL 唯一索引 UNIQUE KEY 会导致死锁?
命令添加unique:删除:唯一性索引作用:先行插入部分数据:再次查看表定义:这时的Auto_Increment=5再次执行sql:此时再次查看表定义,会发现Auto_Increment=6具体的区别:insert ignore:insert ignore会忽略数据库中已经存在的数据(根据主键或者唯一索引判断),如果数据库没有数据,就插入新的数据,如果有数据的话就跳过这条数据。执行上面的语句,会发现并没有报错,但是主键还是自动增长了。此时会发现吕布的班级跟年龄都改变了,但是id也变成最新的原创 2022-06-08 17:17:31 · 1021 阅读 · 0 评论 -
Java 关于使用map存放数据乱序”问题“
今天做项目中遇到了一个比较低级的错误,如果没注意将会变的更麻烦。。。其实吧,也不难,要求就是将list中的值转为map后,再顺序输出map中的值,list的顺序怎样,加入到map的顺序也应怎样,不能乱序!一开始做之前没注意那么多,习惯性使用Map jsonMap = new HashMap();这样做之后的结果可想而知,虽然说查询数据快,但数据肯定是乱序的,毕竟它是根据hashcode码来排序,之后使用TreeMap,但依然没有得到想要的结果,而HashTable就更不用............原创 2022-06-24 18:07:54 · 2110 阅读 · 1 评论 -
如何查询设备序列号?其实一条命令搞定!
百度上答案很杂,怎么说的都有。那么到底如何拿到设备序列号呢?我以Thinkpad为例;方法一:命令行查询其实查询磁盘序列号方式很简单:1.Win + R 打开 “运行” ,在 运行 中输入 cmd ,然后按电脑的回车进入命令行2.输入命令:即可查出方法二:笔记本机身上就有一般Thinkpad的设备序列号都在电池后面,把电池扣下来后,就可以找到,看到S/N,代表的就是设备序列号~............原创 2022-06-28 11:38:21 · 18926 阅读 · 1 评论 -
Java 中 int和Integer比较
下文笔者讲述java中int和Integer类型的比较,如下所示int和Integer类型比较1:Integer是int的包装类,int则是java的一种基本数据类型2:Integer变量必须实例化后才能使用,而int变量不需要3:Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值4:Integer的默认值是null,int的默认值是0一:由于Integer变量实际上是对一个Integer对象的引用 所以两个通过new生成的Int原创 2022-06-27 13:34:37 · 4112 阅读 · 0 评论 -
Java 中if else、多重if、switch效率对比详细讲解
你真的会使用if else、多重if、switch语法吗???原创 2022-06-23 09:48:58 · 3454 阅读 · 4 评论 -
GBK编码和UTF-8编码区别各所占用字节数
简单来说:GBK:中文每个字符占用2个字节,英文1个字节UTF-8:中文每个字符占用3个字节,英文一个字节最后原创 2022-06-17 09:16:59 · 9616 阅读 · 2 评论 -
DNS 原理解析
DNS解析干货原创 2022-05-31 11:04:21 · 1049 阅读 · 0 评论 -
MySQL 优化建议详解
看完这篇SQL优化建议,此时我只想说‘基尼太美!’原创 2022-05-08 14:18:12 · 641 阅读 · 0 评论 -
MySQL EXPLAIN 性能分析工具详解
自从学会EXPLAIN SQL性能分析后,感觉小破公司容不下我了!原创 2022-05-07 17:02:23 · 648 阅读 · 0 评论 -
MySQL 索引详解和什么时候创建索引什么时候不适用索引
自从我学会什么时候创建索引,老板激动地说要给我涨3k原创 2022-05-07 16:29:32 · 777 阅读 · 0 评论 -
MySQL 索引检索原理和B+Tree数据结构详解
MySQL教程从入门到优化,从删库到跑路,只要3天!原创 2022-05-06 18:25:25 · 1289 阅读 · 0 评论