自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

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

2019-03-29 22:18:43 146

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

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

2019-03-29 21:21:04 248

原创 synchronized学习--慕课网

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

2019-03-28 21:06:04 258

原创 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 5812 1

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

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

2019-03-22 21:13:30 426

原创 IntelliJ IDEA修改字体大小

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

2019-03-22 21:02:12 225

原创 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 285

原创 Java对象的创建过程

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

2019-03-21 21:39:23 4936

原创 ThreadLocal的使用

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

2019-03-21 20:47:17 129

原创 求两个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 1911

原创 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 217

原创 HTTP状态码

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

2019-03-20 21:05:08 104

原创 session和cookie的区别

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

2019-03-18 12:20:25 119

原创 MySQL索引学习

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

2019-03-18 11:05:03 123

原创 MyBatis学习

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

2019-03-17 18:39:51 200

原创 SpringMVC学习

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

2019-03-16 19:49:15 144

原创 spring学习2

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

2019-03-15 11:12:08 157

原创 spring学习一

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

2019-03-14 22:04:47 104

原创 Spring的事务学习

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

2019-03-14 11:04:34 273

原创 遇到的数据库面试题

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 105

原创 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 143

原创 JVM内存模型学习

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

2019-03-12 22:45:46 147

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

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

2019-03-12 21:47:26 130

btrace-bin-1.3.11.1.zip

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

2018-11-29

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

TA关注的人

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