- 博客(15)
- 收藏
- 关注
原创 关于ThreadLocal的使用——父子线程传递私有数据
先说结论:ThreadLocal不能解决并发时的线程安全问题代码说明:由业务代码构建子线程,将person变量与主线程绑定,在多个子线程中对person中的age自增操作,可以发现person中的age出现线程安全问题。......
2022-07-02 21:34:41
331
1
原创 【无标题】
Oracle网站密码规则忘记Oracle密码,其实根据密码规则提示,就能试出来,自己平时设置的就那几个密码,在这里总结下,方便诸位和自己找回。密码必须同时包含大小写字母至少 1 个数字和特殊字符不得包含您的电子邮件地址或与之相同长度必须至少为 8 个字符。...
2022-02-13 19:24:03
379
原创 JVM方法区、永久代与元空间的区别与联系
1、JVM内存模型2、方法区 方法区 是 JVM 的规范,所有虚拟机 必须遵守的。常见的JVM 虚拟机 Hotspot 、 JRockit(Oracle)、J9(IBM)。3、永久代 永久代(PermGen)是 JDK7及之前, HotSpot 虚拟机 对 方法区 的一个落地实现。4、元空间 JDK8 中, Hotspot 已经没有永久代(PermGen),取而代之是元空间(Metaspace)。 元空间并不在虚拟机中,而是使用本地内存。 默认情况下,元空间的大小仅受 本地内存 限制,但可
2021-07-13 23:34:59
921
1
原创 redis的过期健删除策略以及内存淘汰机制
1、过期键删除策略 redis过期的key并不会自动删除,需要redis根据设置的过期删除策略,耗费cpu的资源,执行删除逻辑。过期键删除策略有三种:定时删除、定期删除和惰性删除。定时删除 在设置键的过期时间时,创建一个定时器,当键过期时间快到时,立即删除key。此策略对内存友好,但是会耗费大量的cpu资源,影响吞吐量。另外,创建定时器要用到redis服务器的时间事件,而时间事件的实现方式–无序链表,查找事件的时间复杂度时O(n),并不能高效低处理大量的时间事件。 因此,使用大量的定时器进行定时删除
2021-06-26 23:47:46
231
原创 springboot整合dubbo,生产者启动报错
springboot整合dubbo,生产者启动报错 生产者启动报错: Failed to auto-configure a DataSource: ‘spring.datasource.url’ is not specified and no embedded datasource could be auto-configured. 没有加载到 'spring.datasource.url’这个配置 原因:自己建立的resources目录,没有标记为资源根目录。标记的方法是: 右键点击项目(mod
2021-06-20 23:39:28
166
原创 基于springboot的dubbo-consumer启动报错
报错信息: Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationExceptionnested exception is java.lang.IllegalStateException: ApplicationConfig.application == null 与配置文件有关,很大可能就是配置文件配错了。我的犯的错比较特别,我是自己添加的resources文件
2021-06-10 21:49:34
271
原创 Redis是单线程还是多线程的
Redis是单线程还是多线程的1、Redis单线程指的是什么? Redis单线程模型,指的是执行 Redis 命令的核心模块是单线程的,而不是整个 Redis 实例就一个线程。 Redis基于Reactor模式开发了网络事件处理器,这个处理器被称为文件事件处理器,分为四个部分:多个套接字、IO多路复用程序、文件事件分派器、事件处理器。2、Redis5及之前版本(单线程) Redis5及之前的版本使用的是单线程,也就是说只有一个 worker队列,所有的读写操作都要在这一个队列进行操作。但是读写
2021-06-03 22:52:23
448
原创 Hibernate与Mybatis区别
MyBatis 支持通过 XML 或注解的方式来配置需要运行的 SQL 语句,最终由框架将 Java 对象和 SQL 语句映射生成最终执行的 SQL ,执行后,再将结果映射成 Java 对象返回,是半自动化ORM(Object Relationship Mapping)框架;Hibernate是完全的ORM框架;说Mybatis是半自动化ORM框架,是因为sql语句需要程序员自己写;而Hibernate可以自动生成sql语句;因为Mybatis的sql语句是自己写的,能够严格控制 SQL 执行性能,灵.
2021-05-01 23:20:05
257
原创 JDBC概述
JDBC概述1. JDBC概述JDBC(Java DataBase Connectivity),Java数据库连接,是Sun公司推出的Java连接规范。JDBC是接口,JDBC驱动才是接口的实现,没有驱动无法完成数据库的连接。每个数据库厂商都有自己的驱动,用来连接自己公司的数据库。2. JDBC中的主要类与接口 DriverManager-类,用来获取Connection; Connection-接口; Statement-接口; ResultSet-接口;3. DriverManager
2021-04-29 23:42:07
143
原创 键盘输入与字符集的关系
键盘输入与字符集的关系计算机对键盘的处理输入逻辑输入法对BIOS键盘缓冲区的字符的处理计算机对键盘的处理输入逻辑1、键盘产生扫描码;2、扫描码送入主板上相关接口芯片的寄存器中,该寄存器的端口地址为60h;3、引发9号中断;4、CPU执行int 9 中断例程处理键盘输入。4个步骤执行完后,键盘输入的内容就已经转换为对应的ASCII码,存在内存中,由其他程序处理。输入法对BIOS键盘缓冲区的字符的处理输入法程序将BIOS缓冲区的ASCII码读入到自己的缓冲区,根据自己的字符集,做相应的转换。
2021-04-26 23:46:28
414
原创 docker笔记一
docker笔记一Linux环境下,docker的安装与基本使用安装docker:yum install docker 启动docker:systemctl start docker 查看docker版本:docker -v 设置docker开机启动:systemctl enable docker 停止docker:systemctl stop docker由于docker默认从https://index.docker.io拉去容器镜像,速度太慢,需要修改拉取地址https://uxk0o
2021-04-21 23:37:47
46
原创 java的字符串存储在堆中还是常量池中
给一个字符串变量赋值有两种方式:String str1=new String("This is a string"); String str2 ="This is a string";第一种方式通过关键字new定义:先在字符串常量区查找是否存在"This is a string"常量,如果不存在,则在字符串常量区开辟一个内存空间,存放"This is a string";如果存在,则不另外开辟空间,保证字符串常量区只有一个"This is a string",节省空间。然后在堆区,开辟一个空间,存放
2021-02-18 09:22:56
5284
2
原创 Centos环境,使用压缩包安装mysql数据库
Centos环境,使用压缩包安装mysql数据库参照https://www.cnblogs.com/duanrantao/p/8988116.html 执行scripts/mysql_install_db --user=mysql命令时,报错:-bash: ./mysql_install_db: /usr/bin/perl: 坏的解释器: 没有那个文件或目录安装perl跟perl-devel即可:yum install -y perl perl-devel参考https://bl..
2021-01-30 16:00:20
74
原创 联想笔记本电脑忘记账户密码与PIN码怎么办
联想笔记本电脑忘记账户密码与PIN码怎么办我的联想小新笔记本,装的Windows10正版系统,设置的本地账户。昨天,由于指纹识别太多次没有成功,导致进入系统的时候需要输入PIN码,我忘了PIN码,也忘记了本地账户的密码。一通百度和朋友的助攻下,成功清除了登录密码。步骤一:制作u盘启动盘地址:http://pe.uqidong.asia/,下载UEFI版,使用教程在页面中都有说明步骤二:登录微软官网,找到恢复密钥步骤三:使用U盘清除密码这里面分为几个小步骤,我写详细点,有用的上的朋
2021-01-19 23:05:39
29594
16
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人