- 博客(59)
- 收藏
- 关注
原创 jvisualvm安装Visual GC插件
给jdk自带的jvisualvm安装Visual GC插件,遇到We're sorry the java.net site has closed(我们很抱歉java.net网站已经关闭)1、找到新的更新地址visualvm新访问地址:https://visualvm.github.io/index.html进入“Plugins”,找到对应自己JDK版本的更新地址2、进入jvisualvm的插件管理"工具" - "插件"在"设置"中修改url地址为刚才我们在github上找到的对应
2020-06-06 11:20:29
379
1
原创 一份经典多线程并发面试题!
一 面试中关于 synchronized 关键字的 5 连击https://www.jianshu.com/p/34ae0142ebcb1.1 说一说自己对于 synchronized 关键字的了解synchronized关键字解决的是多个线程之间访问资源的同步性,synchronized关键字可以保证被它修饰的方法或者代码块在任意时刻只能有一个线程执行。另外,在 Java 早期版本中,synchronized属于重量级锁,效率低下,因为监视器锁(monitor)是依赖于底层的操作系统的 M
2020-05-11 20:54:58
197
原创 数据库的隔离级别与对应的锁机制
读未提交(Read Uncommitted)的锁机制: 在事务开始以后,遇到SQL的CRUD语句时,如果是读操作,就给该行数据一个S锁,如果是写操作,给要准备写操作的这一行数据加一个X锁。读或写完就立马释放掉锁。在其他事务修改该行数据的时候,不让其他进程对该行数据有任何操作(不能加X和S锁)。而读该行数据的时候,其他进程不能更改,但可以读(可以加S锁但不能加X锁)。最后commi...
2020-04-28 15:33:40
339
原创 MySQL - 锁等待超时与information_schema的三个表
https://blog.youkuaiyun.com/J080624/article/details/80596958
2020-04-19 10:58:24
151
原创 mysql查看死锁和解除锁
解除正在死锁的状态有两种方法:第一种:1.查询是否锁表show OPEN TABLES where In_use > 0;2.查询进程(如果您有SUPER权限,您可以看到所有线程。否则,您只能看到您自己的线程)show processlist3.杀死进程id(就是上面命令的id列)kill id第二种:1.查看下在锁的事务SELECT * FRO...
2020-04-19 10:36:38
343
原创 mysql (四) 听说你还不会看MySQL慢查询日志?
作者:框架淘金者原文:https://my.oschina.net/u/3575212/blog/2236666MySQL中的日志包括:错误日志、二进制日志、通用查询日志、慢查询日志等等。这里主要介绍下比较常用的两个功能:通用查询日志和慢查询日志。1、通用查询日志:记录建立的客户端连接和执行的语句。2、慢查询日志:记录所有执行时间超过longquerytime秒的所有查询或者不使用索引...
2020-04-16 14:32:46
132
翻译 mysql (三) 讲真,MySQL索引优化看这篇文章就够了
本文主要讨论MySQL索引的部分知识。将会从MySQL索引基础、索引优化实战和数据库索引背后的数据结构三部分相关内容,下面一一展开。一、MySQL——索引基础首先,我们将从索引基础开始介绍一下什么是索引,分析索引的几种类型,并探讨一下如何创建索引以及索引设计的基本原则。此部分用于测试索引创建的user表的结构如下:转存失败重新上传取消1、什么是索引“索引(在MySQL...
2020-04-16 14:20:51
256
原创 mysql(二)索引 --MySQL执行计划extra中的using index 和 using where using index 的区别
本文出处:http://www.cnblogs.com/wy123/p/7366486.html(保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错误进行修正或补充,无他)mysql执行计划中的extra列中表明了执行计划的每一步中的实现细节,其中包含了与索引相关的一些细节信息其中跟索引有关的using index 在不同的情况下会...
2020-04-16 10:47:01
651
原创 mysql(一)数据库隔离级别,每个级别会引发什么问题,mysql默认是哪个级别
1.脏读 脏读是指在一个事务处理过程里读取了另一个未提交的事务中的数据。当一个事务正在多次修改某个数据,而在这个事务中这多次的修改都还未提交,这时一个并发的事务来访问该数据,就会造成两个事务得到的数据不一致。举个例子,A在一个转账事务中,转了100块钱给B,此时B读到了这个转账的数据,然后做了一些操作(发货给A,或者其他的),可是这时候A的事务并没有提交,如果A回滚了事务,那就GG了...
2020-04-15 15:27:11
532
原创 Spring (二) Spring 中的 bean 的作用域有哪些?
Spring 中的 bean 的作用域有哪些?singleton : 唯一 bean 实例,Spring 中的 bean 默认都是单例的。 prototype : 每次请求都会创建一个新的 bean 实例。 request : 每一次HTTP请求都会产生一个新的bean,该bean仅在当前HTTP request内有效。 session : 每一次HTTP请求都会产生一个新的 bean,...
2020-04-15 14:23:48
298
原创 Spring(一) 什么是spring框架?Spring框架有哪些主要模块
spring框架是一个轻量级的Java开发框架,为应用开发提供平台。spring框架主要包括7个模块Spring AOP 面向切面编程Spring ORM Hibernate|mybatis|JDOSpring Core 提供bean工厂 IOCSpring Dao JDBC支持Spring Context 提供了关于UI支持,邮件支持等Spring Web 提供了web的一些工具类的...
2020-04-15 14:20:10
718
原创 synchronized 是可重入锁吗?为什么?
什么是可重入锁?关于什么是可重入锁,我们先来看一段维基百科的定义。若一个程序或子程序可以“在任意时刻被中断然后操作系统调度执行另外一段代码,这段代码又调用了该子程序不会出错”,则称其为可重入(reentrant或re-entrant)的。即当该子程序正在运行时,执行线程可以再次进入并执行它,仍然获得符合设计时预期的结果。与多线程并发执行的线程安全不同,可重入强调对单个线程执行时重新进入同...
2020-04-15 14:09:38
304
原创 Java 中 synchronized 的实现原理及偏向锁、轻量级锁、自旋锁、公平锁简介
在多线程编程中,synchronized 一直都是元老级别的存在,很多人都称之为重量级锁。本文来简单介绍synchronized的实现原理,以及为减少获得锁和释放锁所带来的性能损耗而引进的偏向锁与轻量级锁。 Java中使用synchronized来实现同步的基础是什么呢?Java中每一个对象都可以作为锁! 对于普通同步方法,锁是当前实例对象。 ...
2020-04-15 14:00:27
222
原创 深刻理解双重检查锁定(double-checked locking)与单例模式
加载,表示启动程序的文件或信息的载入java中类的字节码文件加载进内存,就是内容以io流的形式存入内存。User user=new User(“男”,26);该语句做了几件事: 因为new用到了User.class,所以找到User.class文件并加载到内存中 执行该类的static代码块,如果有的话,给User.class类进行初始化 在堆内存中开辟空间,分...
2020-04-13 20:06:46
526
原创 【Java线程】volatile的适用场景
http://www.ibm.com/developerworks/cn/java/j-jtp06197.html把代码块声明为 synchronized,有两个重要后果,通常是指该代码具有 原子性(atomicity)和 可见性(visibility)。 原子性意味着个时刻,只有一个线程能够执行一段代码,这段代码通过一个monitor object保护。从而防止多个线程在更新共享状...
2020-04-13 19:04:45
148
转载 java中线程同步的几种方法
方法一:使用synchronized关键字由于java的每个对象都有一个内置锁,当用此关键字修饰方法时, 内置锁会保护整个方法。在调用该方法前,需要获得内置锁,否则就处于阻塞状态。注: synchronized关键字也可以修饰静态方法,此时如果调用该静态方法,将会锁住整个类。注:同步是一种高开销的操作,因此应该尽量减少同步的内容。通常没有必要同步整个方法,使用synchronize...
2020-04-13 15:26:55
130
原创 Linux crontab命令详解
crontab:定时任务的守护进程,精确到分,设计秒的我们一般写脚本 -->相当于闹钟 日志文件: ll /var/log/cron* 编辑文件: vim /etc/crontab 进程:ps -ef | grep crond ==> /etc/init.d/crond restart 作用:定时备份,...
2020-04-10 16:33:02
115
原创 Oracle闪回技术详解
racle闪回技术详解概述: 闪回技术是Oracle强大数据库备份恢复机制的一部分,在数据库发生逻辑错误的时候,闪回技术能提供快速且最小损失的恢复(多数闪回功能都能在数据库联机状态下完成)。需要注意的是,闪回技术旨在快速恢复逻辑错误,对于物理损坏或是介质丢失的错误,闪回技术就回天乏术了,还是得借助于Oracle一些高级的备份恢复工具如RAMN去完成(这才是Oracle强大备份恢复机制的...
2020-04-03 11:04:44
275
原创 oracle
1.触发器: 与表相关联的,PLSQL,当执行DML,字段执行的触发器语法:create or repalce triggger 触发器名称before |afterdelete| insert |updateon 表语句触发器: 作用于表,只执行一次行级触发器:作用于行,行每次更新,执行一次触发器数据仓库:分析数据用的 ,只查询,不存储数...
2020-04-03 09:25:28
118
原创 zookeeper 知识点
1.是一个文件系统,可以增删 改查节点2.配置端口3.文件系统+监听通知机制4.实现分布式配置中心实现配置文件修改不用重启: 热部署,监听5.客户端与服务器有个长连接 心跳如果客户端没有响应,长链接中断,服务器不再链接6.服务器节点变动,会通知客户端节点有变动(不携带变动的具体内容),客户端再去获取最新的 节点7.客户端注册...
2020-03-28 12:36:03
163
原创 【ZooKeeper】ZooKeeper安装及简单操作
ZooKeeper介绍 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。Z...
2020-03-28 12:35:25
386
原创 在Tomcat中开启JVM GC日志收集
在Tomcat中开启JVM GC日志收集泊浮目0.7632017.06.11 19:40:57字数 673阅读 6,756Tomcat环境变量设置在tomcat的安装目录的bin目录下,编辑一个名为setenv.sh的文件(如果没有请创建),在环境变量名字为 CATALINA_OPTS的变量其中添加:XX:+PrintGCTimeStamps -XX:+PrintGCDe...
2020-03-28 07:41:45
1248
原创 五分钟学后端技术:什么是分布式服务和微服务
RPCRPC(Remote Process Call),即远程服务调用,被广泛地应用在很多企业应用中,是早期主要的服务治理方案,其流程较为简单,客户端consumer携带参数发送RPC请求到服务提供方provider,provider根据参数路由到具体函数,方法,并将执行获得的结果返回,至此一次RPC调用完成。随着业务的发展,大数据时代的到来,服务提供方的压力也日益增大,单机应用的处理...
2020-03-23 09:01:43
825
原创 mybatis一级缓存二级缓存
一级缓存 Mybatis对缓存提供支持,但是在没有配置的默认情况下,它只开启一级缓存,一级缓存只是相对于同一个SqlSession而言。所以在参数和SQL完全一样的情况下,我们使用同一个SqlSession对象调用一个Mapper方法,往往只执行一次SQL,因为使用SelSession第一次查询后,MyBatis会将其放在缓存中,以后再查询的时候,如果没有声明需要刷新,并且缓存没有超时的情况...
2020-02-12 13:33:59
111
转载 Java利用SFTP实现文件上传与下载
package sftp; import com.jcraft.jsch.*; import com.jcraft.jsch.ChannelSftp.LsEntry; import org.apache.logging.log4j.Logger; import javax.imageio.ImageIO; import jav...
2019-12-09 11:32:36
312
转载 SSH免密码登录连接失败:Host key verification failed(测试有效)
2014-08-19 20:42:08 lzm1340458776 阅读数 1915 收藏 文章标签: Linux ssh免密码登录 连接失败 更多分类专栏: Linux 最近更换了一部分服务器,一部分没有更换,在原来的机器上ssh登录其他机器的时候被拒了。执行: SSH xxx.xxx.xxx.xxx结果:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@...
2019-12-09 11:05:42
366
原创 Linux 如何开启SFTP
一、SFTP讲解 SFTP是Secure File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的加密方法。 SFTP与 FTP有着几乎一样的语法和功能。 SFTP 为 SSH的一部分,是一种传输档案至 Blogger 伺服器的安全方式。其实在SSH软件包中,已经包含了一个叫作SFTP(Secure File Transfer Prot...
2019-12-09 10:49:46
1985
转载 查看Linux端口占用,并kill掉相关进程
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.youkuaiyun.com/whdxjbw/article/details/80681191 话不多说,本文介绍Linux常规操作:查看端口占用进程,根据PID kill掉相关进程。另外补充:根据程序名查看进程PID。 首先,两条命令,lsof命令...
2019-12-05 17:26:46
275
原创 linux下FTP服务启动与关闭命令
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.youkuaiyun.com/qq_34495557/article/details/78327127 查看FTP服务是否运行中:service vsftpd status 查看本地是否含有包含ftp的进程开启:ps -ef | grep ftp...
2019-12-05 16:41:55
1541
原创 FTP配置参数
格式vsftpd.conf的格式非常简单,每行要么是一个注释,要么是一个指令。注释行以#开始并被忽略掉。指令行格式如下:配置项=参数值很重要的一点是,这个格式里不存在任何空格。默认的,每一个配置项在配置文件里都占一编辑行,可以被修改。布尔选项参数值的布尔选项可以是:YES或者NOallow_anon_ssl只有ss1_enable激活了才可以启用此项。如果设置...
2019-12-05 16:41:05
961
原创 Linux 按照Ftp 中遇到的问题
1.正常步骤安装完成2.确认端口20 21 打开 防火墙 参考博客 https://blog.youkuaiyun.com/u013900644/article/details/103226146 3.接下来测试一下。SSH登录和WEB访问apache都没有问题,但是ftp就连不上了,太诡异了,不是都添加了20和21端口了的吗。网上搜了一下,说法是iptables控制ftp还...
2019-12-05 15:30:38
261
原创 HashSet TreeSet Iterator迭代器
获取一个迭代器 iterator(); 应为没有get 方法 无法取集合元素,需要迭代HashSet set=new HashSet();Iterator<T> itr=set.iterator();//Iterator 接口 多态while(itr.hasNext()){//输出}HashSet 无序 不可重复 无重复的原则: 对...
2019-12-03 10:49:10
376
原创 String StringBuild StringBuffer
字符串相关类:String : 非常特殊的类,可以像常量创建对象String str="abc"; 内存存储 “abc ”对象 char[] valueString 不可变性 private final char[] value频繁的修改内容性能不好str=str.concat("a"); 会比+号效率好-- ------------------...
2019-12-02 16:02:15
162
转载 linux7 下设置防火墙允许得端口
linux7以上使用systemctl status firewalld 查看状态systemctl enable firewalld 启用防火墙 永久systemctl stop firewalld 停止防火墙 重启后失效systemctl disable firewalld 禁用防火墙 永久systemctl start firewalld 启动查看已打开的端口 nets...
2019-11-24 16:57:36
376
转载 Linux离线安装mysql 5.6详细步骤 (实际安装成功)
一、安装MySQL1、下载安装包 mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz2、卸载系统自带的Mariadbrpm -qa|grep mariadb //查询已安装的mariadbrpm -e --nodeps 文件名 //卸载,文件名为使用rpm -qa|grep mariadb 命令查出的所有文件3、删除etc目录下的m...
2019-11-24 16:27:01
1589
转载 Can't connect to MySQL server on '192.168.1.107' (113)
[root@centos6 data]# mysql --host=192.168.1.107 --protocol=tcp --user=root --passwordEnter password: ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.1.107' (113)[root@centos6 da...
2019-11-24 16:25:01
3603
1
转载 mysql (二)linux系统安装mysql数据库
1、首先关闭linux的防火墙,执行命令chkconfig iptables off2、从mysql官网上下载自己适合的mysql版本https://dev.mysql.com/downloads/mysql/5.6.html#downloads,进入mysql官网,依次点击3、下载后的mysql文件mysql-5.6.40-linux...
2019-08-14 15:23:54
133
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人