- 博客(20)
- 收藏
- 关注
原创 多线程相关面试题
1. 进程和线程的区别进程是资源分配的最小单位,线程是CPU调度的最小单位。一个进程包含多个线程,最少有一个线程。多线程共享进程的内存空间。2. 线程的start和run方法的区别start方法会开启一个新的线程,然后运行run方法里逻辑;run方法只是一个方法。3. Thread和Runnable的关系Thread是类,Runnable是接口。Thread实现了Runnable接口;4. 如何实现处理线程的返回值循环判断获取值(不推荐);实现Callable接口,通过call方法,用
2022-04-07 09:30:38 118
原创 Spring
谈谈对Spring的理解2. 谈谈对Spring IOC的理解IOC:控制反转。以前代码中的对象都是我们自己通过new的方式,自己来管理,在Spring中,我们可以将整个对象交给Spring容器来管理。(是一种思想理论)DI:依赖注入。以前我们在对象中设置属性,可以通过new、setter、construtor的方式注入,在Spring中,可以通过@Autowared、@Resource、populateBean方法,将对应的属性注入到具体的对象中。容器:用来存储管理对象的bean工厂。使用map.
2022-04-07 09:30:01 285
原创 数据库MySQL
事务的特性ACID是靠什么保证的MySQL的隔离级别Innodb和Myisam的区别ACID:A:原子性,事务中的一组操作要么都全成功,要么全不成功;C:一致性,底层数据存储的完整性,比如转账A扣了100,B要加上100,保持一致;I:隔离性,多个事务之间互不影响;D:持久性,事务提交后,数据要持久化到磁盘上,保证事务异常中断数据不会丢失。...
2022-04-07 09:29:31 69
原创 Mybatis
1. Mybatis优缺点和适用场景Mybatis是个轻量级的ORM框架,内部封装了JDBC操作,为我们省去了打开事务,提交,关闭事务等操作,简化开发。优点:轻量级,简单易学;提供了JDBC操作,事务管理,插件接口等,简化开发;动态SQL的编写,灵活度高;sql语句在xml中,与业务代码解耦,方便复用。缺点:需要手动写sql,对sql能力有一定要求;sql的编写依赖于数据库,不方便移植,不能随意切换数据库。Mybatis其灵活的Dao层解决方案,非常适合业务灵活,需求多变,性能要求高的系统。2.
2022-04-07 09:28:51 94
原创 java集合
HashMap的底层实现HashMap的底层数据结构是数组+链表的方式,在jdk1.8之后变成数组+链表+红黑树的形式;数组的初始长度是16,负载因子默认为0.75,达到当前长度乘以负载因子长度时,进行扩容,每次扩容为原来的2倍;当调用put方法时,通过对key进行hash运算,得到数组位置,判断是否有值,没有的话,直接放进去,有值的话,以单向链表的方式插入进去。当链表长度大于8个的时候,转化为红黑树,小于6个的时候会再转化为链表。HashMap允许有一个key为null,多个value为null.
2022-04-07 09:28:00 46
原创 java启动jar包脚本
平时我们启动jar包使用下面的方式:nohup java -jar ${APP_NAME} > server.log 2>&1 &但是需要关闭重启的时候,需要先找到之前运行的进程,然后杀掉,然后在启动。下面我们使用脚本的方式,方便部署项目。效果如下:./start-server.sh start #启动./start-server.sh restart #重启./start-server.sh stop #停止./start-server.sh status #查看
2021-11-25 11:03:12 2470 1
原创 centos 安装 nginx
一、下载去nginx网站上下载需要的安装包。http://nginx.org/en/download.html二、安装依赖包yum -y install pcre pcre-devel zlib zlib-devel openssl openssl-devel三、解压安装包&安装将第一步下载好的安装包上传的服务器后,进行解压安装tar -zxvf nginx-1.18.0.tar.gzcd nginx-1.18.0./configure --prefix=/opt/nginx -
2021-11-25 09:29:22 75
原创 http升级到https
为了保证网站的机密信息从用户浏览器到服务器之间的高强度加密传输,保证信息不会被非法窃取和非法篡改。需要将http升级到https。升级到https很简单,简单来说就是申请证书+部署。一、申请证书:SSL证书有收费的,当然也有免费的。在各平台都能在控制台的SSL证书管理那里,申请到免费证书。这里拿腾讯云举例:按照要求,申请免费证书即可。二、部署颁发证书后,需要进行部署,部署文档各平台也提供的有:https://cloud.tencent.com/document/product/400/4143
2021-03-23 23:33:45 476
原创 xshell设置登陆后默认目录
在/etc/bashrc文件中使用cd命令,进入指定目录。vi /etc/bashrc在文件末尾插入:cd /usr/local #这个目录为需要指定的默认目录
2021-03-23 22:38:59 1540
原创 微服务架构的分布式事务解决方案
工作中提到微服务,分布式,就会提到分布式事务解决方案。网上查了很多资料,都千篇一律的说的理论,没有实现。在看学习视频的时候,找到了一个免费课程,不仅有网上说的理论知识,还有实践,值得一看。链接:微服务架构的分布式事务解决方案...
2021-03-22 11:41:24 63
转载 pl/sql developer 中文字段显示乱码解决
pl/sql developer 中文字段显示乱码:原因:因为数据库的编号格式和pl /sql developer的编码格式不统一造成的。解决方法如下:一、查看和修改oracle数据库字符集:select userenv('language') from dual;二、修改pl/sql developer 的编码格式:在windows中创建一个名为“NLS_LANG”的系统环境变量,设置其值为第一步查出来的数据库字符集,比如:“MERICAN_AMERICA.AL32UTF8”,然后重新启动
2021-03-22 11:27:16 1384
原创 Linux安装MySQL5.7
1、下载安装包可以去官网上下载:https://dev.mysql.com/downloads/mysql/5.7.html#downloads操作系统选Linux-Generic,安装包下载x86_64.tar.gz结尾的(六百多M)。如果官网打开或者下载较慢,可以去百度云上下载:链接:提取码:2、安装命令:tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tarmv mysql-5.7.26-linux-glibc2.12-x86_64 /usr
2021-03-17 11:11:22 78
原创 Java对象和Map之间互转
通过java的反射机制: /** * 对象转map **/ public static Map<String, Object> objectToMap(Object obj) throws IllegalAccessException { if (obj == null) { return null; } HashMap<String, Object> map = new Hash
2021-02-02 23:21:46 132 1
原创 idea热更新,热加载
1、Settings->Build project automatically2、Ctrl+Shift+A ->搜索registry,找到Registry...,(注意是后面有三个点),然后找到compiler.automake.allow.when.app.running,勾选即可...
2018-05-23 18:55:26 7737
原创 OpenOffice4启动命令
windows系统:进入安装目录中的program目录:cd C:\develop\ProgramFiles\OpenOffice4\program启动:soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard
2018-04-17 09:46:22 3736
原创 linux常用命令
解压缩:tar -zxvf ***.tar.gz创建文件夹:mkdir 文件夹名称删除文件夹:rm 文件夹名称 -r 递归 -f 强制删除 rm -rf 文件夹名称修改环境变量生效:source /etc/profile打开编辑文件: vi filename //打开filename文件 ...
2018-04-13 15:28:13 123
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人