自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 资源 (1)
  • 问答 (18)
  • 收藏
  • 关注

原创 Forbid consumer xxxxx access service com.alibaba.dubbo.rpc.service.GenericService from regis

Forbid consumer xxx.xxx.xxx.xxxaccess service com.alibaba.dubbo.rpc.service.GenericService from registry xxx.xxx.xxx.xxx:2181 use dubbo version 2.8.2-RELEASE, Please check registry access list (white...

2020-03-16 21:21:12 1664

原创 host文件自动添加的windows10.microdone.cn解决方法

host文件添加了windows10.microdone.cn这个域名,而且删除后还会自动添加。一通搜索后,都说和银联的插件有关。但是我电脑上没有。还有的说是人行征信中心查征信插件导致的,卸载该插件后,改域名就消失了。...

2020-02-01 10:06:45 25518 3

原创 JSchException: channel is not opened解决方案

有一个通过代码连接sftp的方法,忽然某一天总是抛出JSchException: channel is not opened异常,在网上查询了几个产生该异常的可能原因和解决方案,1、原因:内存不够,解决方案:需要清理内存,结果:未解决。(1)free -m //以M为单位查看内存大小(2)sync(3) echo 3 > /proc/sys/vm/drop_caches...

2019-12-26 10:12:38 12047 1

原创 linux系统下nginx常用命令

#查看nginx配置路径nginx -Vnginx的配置文件是nginx.conf#验证nginx配置文件是否正确/usr/sbin/nginx -t#修改完配置文件后,重启重新加载配置文件/usr/sbin/nginx -s reload...

2019-12-24 18:01:27 248

原创 UnexpectedRollbackException:Transaction rolled back because it has been marked rollback-only

在程序运行过程中出现:org.springframework.transaction.UnexpectedRollbackException:Transaction rolled back because it has been marked rollback-only抛出该异常的原因,方法A调用了方法B, 方法A有事务,方法B也有事务,在方法A中用try...catch...包住了方法B,当...

2019-11-15 14:16:10 676

原创 Mybatis Generator自动生成代码

今天学习自动生成代码,找到了一篇文章,写的很详细。IDEA+Maven+Mybatis Generator自动生成代码执行完之后发现没生成对应的XXXExample.java文件。如果想生成这个文件,需要修改generatorConfig.xml文件 <table tableName="app" domainObjectName="App" ena...

2019-07-02 18:01:29 189

原创 git命令详解

从远程服务器克隆代码git clone <代码库地址>创建分支git branch branch_name // 创建本地分支git checkout -b branch_name //创建分支,并切换到该分支。 //本地会自动新建一个分支dev,并自动跟踪远程dev分支,前提是远程已存在该分支git checkout --track origin/dev...

2019-05-22 21:26:32 407

原创 在idea中使用git

1、安装git2、打开idea,File-->Settings..在path to Git executable上配置git.exe的路径,点击Test,出现下面的提示,证明可以了:3、将一个项目添加到git上,选择需要添加的项目就行了。4、将一个项目从git中删除。File-->Settings...点右侧的-后,点OK,到该项目目录下,删除....

2019-05-05 22:21:14 214

原创 Java程序设计原则

1、找出应用中可能需要变化之处,把它们独立出来(并封装起来),不要和那些不需要变化的代码混在一起。2、面向接口编程,而不是面向对象编程。关键在于多态。3、多用组合,少用继承。...

2019-04-13 22:22:27 243

原创 MyBatis中#{}和${}的区别?

(1)#{}在xxMapper.xml文件中,查询语句如下: <select id="selectUser" resultType="mybatis.entity.User"> select * from user where username= #{username} </select>此时,在mybatis执行该语句前,会将该查询编译成“...

2019-04-13 10:49:27 463

原创 软负载中心学习

1、软负载中心的基础职责(1)聚合地址信息。聚合地址列表,形成一个可供服务调用者及消息发送者、接受者直接使用的列表。(2)生命周期感知。能对服务的上下线自动感知,并根据变化更新服务地址数据,形成新的地址列表后,把数据传给需要数据的调用者或消息的发送者和接收者。2、软负载中心的结构(1)服务端:感知提供服务的机器是否在线,聚合提供者的机器信息,并负责把数据传给使用数据的应用。(2...

2019-04-12 11:33:39 223

原创 应用程序访问文件的几种方式

1、标准访问文件方式当应用程序调用read()接口时,操作系统检查在内核的高速缓存中有没有需要的数据,有就从缓存中返回,没有就从磁盘读取,并缓存到操作系统的缓存中。应用程序调用write()接口将数据从用户地址空间复制到内核地址空间的缓存中。什么时候写到磁盘由操作系统决定。2、直接I/O的方式应用程序直接访问磁盘数据,不经过操作系统的内核数据缓冲区。3、同步访问文件的方式数...

2019-04-05 17:10:57 1724

原创 Java内存模型学习

Java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中读取变量的底层细节。Java内存模型规定了所有的变量都存储在主内存,每条线程还有自己的工作内存,保存了被该线程到的变量的主内存副本拷贝,线程对变量的所有操作都必须在工作内存中进行,不同的线程之间无法直接访问对方工作内存中的变量,线程间变量值得传递均需要主内存来完成。主内存主要对应与Java堆中的对象...

2019-04-03 18:02:17 167

原创 类加载器学习

类加载器:类加载阶段中,实现“通过一个类的全限定名来获取描述此类的二进制字节流”的代码模块称为“类加载器”。1、类加载器分类:从Java虚拟机的角度,只存在两种不同的类加载器:启动类加载器(Bootstrap ClassLoader)、所有其他类加载器。启动类加载器是C++语言实现的,而其他类加载器是Java语言实现,全部都继承自抽象类:java.lang.ClassLoader。...

2019-04-03 11:21:21 205

原创 虚拟机性能监控与故障处理工具学习

1、JDK的命令行工具(1)jps:虚拟机进程状况工具,显示指定系统内所有的HotSpot虚拟机进程。并显示虚拟机执行主类名称以及这些进程的本地虚拟机唯一ID。(2)jstat:虚拟机统计信息监控工具,用于监视虚拟机各种运行状态。可以显示本地或远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据。(3)jinfo:Java配置信息工具,实时查看和调整虚拟机各项参数(4)j...

2019-04-02 21:44:25 170

原创 JVM内存分配与回收策略

对象的内存分配,就是在堆上分配,对象主要分配在新生代的Eden区上,如果启动了本地线程分配缓冲,将按线程优先在TLAB上分配。少数情况下也可能直接分配在老年代中,取决于使用的垃圾收集器和JVM中与内存相关参数的设置。1、对象优先在Eden区分配大多数情况下,对象在新生代Eden区中分配。当Eden区没有足够的空间进行分配时,虚拟机将发起一次Monitor GC。收集器日志参数:-XX:...

2019-04-02 20:55:20 349

原创 单例模式与多线程

单例模式是指系统中应用该模式的类只有一个实例。单例模式分为两种模式:饿汉模式和懒汉模式1、饿汉模式(立即加载)立即加载就是使用类的时候,已经将对象创建完毕。public class SingletonDemo { private static SingletonDemo instance = new SingletonDemo(); private Singleton...

2019-04-02 12:48:26 137

原创 垃圾收集算法及垃圾收集器学习

垃圾回收算法1、标记-清除算法算法包含标记和清除两个阶段:首先,标记出所有需要回收的对象,在标记完成后统一回收被标记的对象。缺点:效率低,标记和清除两个效率都不高。空间问题,产生大量不连续的内存碎片。2、复制算法将可用内存按容量分为大小相等的两块,每次只用其中一块,当这块内存用完了,就将存活的对象复制到另一块内存上,把使用过的内存空间一次性清理掉。商业虚拟机用该算法回收新生...

2019-03-29 22:18:43 129

原创 JVM学习之如何判断对象是否存活

1、引用计数法给对象添加一个引用计数器,每当有一个地方引用它时,计数器就加1,引用失效时,计数器就减1,任何时刻计数器为0的对象时不可能再被使用的。优点:实现简单,判定效率高。缺点:无法解决对象之间相互循环引用的问题。2、可达性分析法通过一系列的称为“GC Roots”的对象作为起始点,从这些节点向下搜索,搜索所走过的路径称为引用链,当一个对象到GC Roots没有任何引用链时...

2019-03-29 21:21:04 227

原创 synchronized学习--慕课网

1、synchronized关键字的作用能够保证在同一时刻只有一个线程执行该段代码,达到保证线程安全的效果。2、synchronized的两个用法对象锁:包括同步方法和同步代码块。类锁:synchronized修饰的静态的方法或指定锁为class对象。3、多线程访问同步方法的7种情况(1)两个线程同时访问一个对象的同步方法:串行执行(一个一个的执行)。(2)两个线程访问...

2019-03-28 21:06:04 235

原创 centos7部署的web服务,外部无法访问的问题

自己做了一个简单的springbootdemo,部署到Linux上,发现外网无法访问,但是通过curl localhost:80/xx可以正常访问。网上找了好多资料,操作之后发现都不成功。这次按照这个博客的进行操作,终于成功了, Centos7搭建nginx并提供外网访问1、首先检查80端口是否开放firewall-cmd --query-port=80/tcp如果开启返回y...

2019-03-27 09:10:45 5590 1

原创 IntelliJ IDEA环境下用maven打包项目

1、首先添加maven打包配置,2、3、选中刚刚配置的package,点击右侧三角运行4、这样就在项目的target目录下生成了jar包或war包。

2019-03-22 21:13:30 387

原创 IntelliJ IDEA修改字体大小

修改代码和控制台的字体大小:File-->settings...打开设置的面板修改工具栏字体及项目路径字体大小的方法

2019-03-22 21:02:12 200

原创 TCP的三次握手和四次挥手

TCP建立连接的三次握手过程:第一次握手:客户端发送SYN(seq=x)包到服务器,并进入SYN_SEND状态等待服务器确认。第二次握手:服务器收到SYN包,向客户端发送SYN(seq=y)包和ACK(ack=x+1)确认包给客户端。服务器进入SYN_RECV状态。第三次握手:客户端收到SYN+ACK包,向服务器发送确认包ACK(ack=y+1),发送完毕后,客户端和服务器进入ESTA...

2019-03-22 11:20:46 266

原创 Java对象的创建过程

对象的创建过程:类加载检查-->分配内存-->初始化零值-->设置对象头-->执行init方法1、类加载检查:虚拟机遇到一条new指令时,先检查这个指令的参数能否在常量池中定位到一个类的符号引用,并检查这个符号引用代表的类是否已被ji加载、解析和初始化过。如果没有,则先进行类的加载过程。2、分配内存:有两种方式指针碰撞:假设Java堆中的内存是规整的,用过的...

2019-03-21 21:39:23 4835

原创 ThreadLocal的使用

类ThreadLocal主要解决的是每个线程都绑定自己的值,如果将ThreadLocal类比喻成全局存放数据的盒子,盒子中可以存储每个线程的私有数据。解决的是变量在不同线程间的隔离性,不同的线程拥有自己的zh值,不同线程中的值是可以放入Threadlocal类中进行保存。public class ThreadLocalTest { private static ThreadLocal t...

2019-03-21 20:47:17 113

原创 求两个List的交集和并集

最近遇到的面试题,假设有两个list分别为list1和list2交集:list1.retainAll(list2); list1的数据就变成list1和list2的交集,list2不变。public class ListTest { public static void main(String[] args) { List list1 = new Array...

2019-03-20 21:29:41 1866

原创 Redis入门学习--慕课网

1、Jedis入门Jedis是redis的Java版本客户端实现。Jedis的使用:创建一个Java项目,导入两个jar包:commons-pool2-x.x.x.jar和jedis-x.x.x.jar。编写测试代码:第一种方式:直接用JedisJedis jedis = new Jedis("xxx", 6379);//Redis服务地址及端口号jedis.auth(...

2019-03-20 21:15:39 187

原创 HTTP状态码

2XX成功状态码200 OK 请求没问题,实体的主体部分包含了所请求的资源。3XX重定向状态码300 Mutiple Choices 客户端请求一个实际指向多个资源的URL时会返回这个状态码。301 Moved Permanently 在请求的URL已被移除时使用。响应的Location首部中应该包含现在资源所处的URL。302 Found 类似于301,但是...

2019-03-20 21:05:08 85

原创 session和cookie的区别

Cookie和Session是会话跟踪技术。1、什么是Cookie?Cookie实际上是一小段的文本信息。客户端请求服务器,如果服务器需要记录该用户状态,使用response向客户端浏览器发一个Cookie。客户端浏览器把Cookie存起来,再次请求服务器时,将Cookie和数据一起发给服务器,服务器根据从Cookie来识别用户状态。使用key-value的形式保存用户状态。2、什么是...

2019-03-18 12:20:25 98

原创 MySQL索引学习

MySQL的索引在存储引擎层实现的,性能跟存储引擎有关。MySQL的索引类型B-tree索引采用的是B+tree的结构。B+tree是一个平衡查找树,每个叶子到根节点的路径是相同的。特点:能够加快数据的查询速度。更适合范围查找。使用场景:全值匹配查找;匹配最左前缀查询;匹配列前缀查询;精确匹配左前列,并范围匹配另外一列;只访问索引的查询。使用限制:如果不是按照索引最左列开始查找...

2019-03-18 11:05:03 103

原创 MyBatis学习

1、MyBatis四大核心对象ParameterHandler:处理SQL的参数对象。ResultSetHandler:处理SQL的返回结果集。StatementHandler:数据库的处理对象,用于执行SQL语句。Executor:MyBatis执行器,用于执行增删改查操作。2、MyBatis插件原理借助于责任链的模式进行对拦截的处理,使用动态代理对目标对象进行包装,达到...

2019-03-17 18:39:51 182

原创 SpringMVC学习

1、什么是MVC设计模式(1)Controller:负责接收并处理请求,响应客户端。(2)Model:模型数据,业务逻辑处理层。(3)View:视图,与用户交互。2、什么是SpringMVC最好的实现MVC设计模式的框架,它是spring框架的一个子模块,可以很好的结合使用,不需要整合。3、SpringMVC的核心组件(1)DispatcherServlet:前端控制器...

2019-03-16 19:49:15 124

原创 spring学习2

1、AOP面向切面编程采用了横向抽取的机制,取代了传统的纵向继承体系重复性代码。主要用途:事务管理、安全检查、缓存等。AOP是在运行期通过代理方式向目标类织入增强代码。2、AOP相关术语(1)Joinpoint:连接点,可以被连接到的点,在spring中指的是方法。(2)Pointcut:切入点,真正被拦截到的点。(3)Advice:通知,拦截后要做的事。分为前置通知、后置...

2019-03-15 11:12:08 138

原创 spring学习一

IOC的底层实现原理工厂+反射+配置文件。将创建对象的控制权,交给spring管理。DI依赖注入,在控制反转的基础上,将类依赖的属性注入进去。1、spring的工厂类:BeanFactory(接口,传统方式)和ApplicationContext(接口,新的方式)。BeanFactory是Application的顶级接口。2、Bean的实例化三种方式:使用类构造器实例化...

2019-03-14 22:04:47 85

原创 Spring的事务学习

1、事务的特征(ACID)(1)原子性:不可分割性,操作要么全部执行,要么全部不执行。(2)一致性:事务的执行使得数据库从一种正确的状态转换为另一种正确的状态。(3)隔离性:一个事务的执行不能干扰其他事务。(4)持久性:事务完成后,对数据的改变是永久性的,结果会永久的保存在数据库中。Java事务产生的原因:程序操作sh数据可的需要,编程中,实现ACID的操作。Java事务实...

2019-03-14 11:04:34 244

原创 遇到的数据库面试题

1、MySQL和oracle的in的区别MySQL的in后面的参数没有个数的限制,而oracle的in后面的参数限制为1000个。2、MySQL的in和exist的区别exist是对外表进行loop循环,每次loop循环再对内表(子查询)进行查询,内表根据索引查询,速度快,可以用大表,外表查询速度慢,尽量用小表,所以外表是小表的时候可以用exist。in是把外表和内表做hash连接...

2019-03-14 10:03:40 89

原创 Spring的一些相关问题

1、Spring的核心组件有哪些?Spring的核心组件有三个:Core、Context和Bean。Bean:在Spring的org.springframework.beans包下,这个包下的所有类主要解决了3件事:Bean的定义、Bean的创建及对Bean的解析。Bean的创建是典型的工厂模式,顶级接口是BeanFactory。Context:在Spring的org.springfr...

2019-03-13 21:29:57 121

原创 JVM内存模型学习

JVM运行时数据区1、程序计数器一块较小的内存,当前线程所执行的字节码的行号指示器。每个线程都有一个独立的程序计数器,便于程序切换后恢复到正确的执行位置。属于线程私有的。唯一一个规定没有OOM的区域。2、Java虚拟机栈线程私有,生命周期与线程相同。描述的Java方法执行的内存模型,每个方法在执行的时候都会创建一个zh栈帧用于存储局部变量表、操作数栈、动态链表、方法出口等信息。每个...

2019-03-12 22:45:46 101

原创 Java虚拟机类加载过程学习

类的加载过程包括:加载--&gt;验证--&gt;准备--&gt;解析--&gt;初始化。1、加载 加载时,虚拟机要做的三件事:(1)通过一个类的全限定名来获取定义此类的二进制字节流。(2)将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构。(3)在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据访问入口。2、验证目...

2019-03-12 21:47:26 94

btrace-bin-1.3.11.1.zip

最新的btrace-bin-1.3.11.1.zip,以前的包用起来缺少一个文件,特意下载了最新的压缩包

2018-11-29

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

TA关注的人

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