自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

转载 Java学习1:图解Java内存分析详解(实例)

版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/qq_36743482/article/details/78527312随着工作的深入,越发需要重新梳理一遍Java知识点,本系列是重新学习Java所写。首先需要明白以下几点:栈空间(stack),连续的存储空间,遵循后...

2019-09-20 11:43:02 156

原创 通俗易懂讲索引

B平衡树的索引结构,三种索引的速度以及覆盖范围排序: 1覆盖索引>= 2聚集索引>3非聚集索引=组合索引。 1和2中大于的部分不是速度,而是适用范围,1覆盖索引能够根据业务自定义,而2基本都是主键,适用性不强,但是覆盖索引占用内存比较大,这个是一个限制条件。索引总共分为三种,聚集索引,非聚集索引,覆盖索引非聚集索引会先找到聚集索引的唯一主键,然后根据聚集索引查找值,例外的...

2019-08-29 17:52:53 211

原创 grep/cat命令常用小记

grep命令笔记:1,输出匹配指定模式行的前或者后面N行grep -A 10 -B 20 字段 文件位置2,创建命令集模板查询 modle文件名,内包括字段集合 可为某个业务创建一个查询集合grep -f modle 文件位置3,在文件中查找字段grep 字段 文件位置 e: grep tomcat a.log4,在多个文件中查找字段grep 字段 文件位置 文件位...

2019-08-29 17:48:51 422

转载 出现 java.lang.OutOfMemoryError: PermGen space 错误的原因及解决方法

1 错误描述在正常启动 Tomcat 的时候,报出如下错误:2 错误原因通过观察上面的错误描述,我们可以知道错误原因:java.lang.OutOfMemoryError: PermGen space此错误,为内存溢出错误。更具体的说,是指方法区(永久代)内存溢出!3 解决方法由于 JDK 自带的虚拟机为 HotSpot,且其支持内存区域的动态扩展,因此可以通过设置虚拟机参数...

2018-12-05 17:01:10 598

转载 Cookie的类型

Cookie的类型会话cookie和持久cookie会话cookie是一种临时cookie,它记录了用户访问站点时的设置和偏好,当用户退出浏览器时,会话cookie就会被删除。持久cookie的生存时间更长一些,它存储在用户的硬盘上,浏览器退出或计算机重启时他们仍然存在。会话cookie与持久cookie之间的唯一区别就是它们的过期时间。如果设置了Discard参数(cooki...

2018-11-07 10:36:49 3155

转载 深入浅出数据库索引原理

使用索引很简单,只要能写创建表的语句,就肯定能写创建索引的语句,要知道这个世界上是不存在不会创建表的服务器端程序员的。然而, 会使用索引是一回事, 而深入理解索引原理又能恰到好处使用索引又是另一回事,这完全是两个天差地别的境界(我自己也还没有达到这层境界)。很大一部份程序员对索引的了解仅限于到“加索引能使查询变快”这个概念为止。 为什么要给表加上主键? 为什么加索引后会使查询变快?...

2018-10-12 10:08:00 92

转载 创建索引的优点和缺点

为什么要创建索引呢?这是因为,创建索引可以大大提高系统的性能。第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。第二,可以大大加快数据的检索速度,这也是创建索引的最主要的原因。第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。第四,在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。第五,通过使用索引,可以在查...

2018-10-12 10:06:24 266

原创 left join的优化,小的结果集驱动大的结果集

left join 的时间开销类似于笛卡尔积,相当费时,如果关联字段是索引字段,可以减少时间复杂度,但是还是非常费时。left 的优化:首先,mysql都是使用(Nested Loop )循环套嵌的方式实现join,这里包括两个部分:驱动表结果集作为条件连接被驱动表X,被驱动表根据驱动表结果查询数据集Y。时间复杂度(X*Y),这里的第二部分是数据库内部的操作,涉及io,cpu等的操作很少,而且...

2018-10-11 11:55:24 7916

原创 多行程环境下使用volatile修饰变量在就真的安全了么?

      volatile生效的关键是缓存一致性协议,在修改变量的时候通知其他已读取缓存的线程此变量已经修改,触发其他线程对变量缓存的重新读取,以此保证数据不会脏读 。但是这里有个问题,修改也就是往内存写变量的时候才会触发检查。而多线程环境下变量安全的标志是(原子性,可见性,有序性),这里只实现了可见性。变量操作的过程包括读取到缓存中和操作后写入磁盘两个操作,写入磁盘可以保证其他线程立刻获取最新...

2018-09-13 18:12:01 933

原创 java server socket通信

三种常见构造器Accept方法用于产生”阻塞”,直到接受到一个连接,并且返回一个客户端的Socket对象实例。”阻塞”是一个术语,它使程序运行暂时”停留”在这个地方,直到一个会话产生,然后程序继续;通常”阻塞”是由循环产生的。. getInputStream方法获得网络连接输入,同时返回一个InputStream对象实例。 . getOutputStream方法连接的另一端将得到输入,...

2018-09-13 16:05:11 876

原创 Java类继承加载顺序(面试必备)

加载顺序。(非继承)1,static静态代码块和静态成员2,普通成员3,构造函数执行(继承)无父则无子父类静态代码区和父类静态成员 不包括方法 子类静态代码区和子类静态成员 父类非静态代码区和普通成员 父类构造函数 子类非静态代码区和普通成员 子类构造函数构造方法最后加载,静态方法和静态代码块按顺序加载,子类优先。 向下转型new 的其实也是子类的对象,虽然...

2018-09-13 14:36:13 1072

原创 最通俗易懂的Sql语法排序

    一般的后端开发者写sql,这些基础语句就够用了(SELECT[DISTINCT],FROM,WHERE,GROUP BY,HAVING,UNION,ORDER BY),至于更复杂的基本都是更加专业的数据库开发工程师(DBD)来完成了,毕竟随着语句的逻辑越复杂,已经不是简单的实现功能,更多涉及到性能,实行方式有很多,索引,分库等等,这不是本章讨论的范畴,我们这里只讲一讲基础的sql语句执行顺...

2018-09-13 11:31:28 1197

原创 Sql常用语法总结(mySql)超详细版

create datebase ipay; 创建数据库drop datebase ipay; 删除数据库create table t_urm_pinf(usr_no varchar2(12) default 0 not null ,usr_id number(12) default 0 not null)comment on table T_URM_PINF is '手机用...

2018-09-13 10:44:14 1632

原创 通信方式简介(Postman)HEAD、POST、GET...

作为一个经常被使用的接口请求工具,你可能一般使用的都是Post或者Get,其它就算偶尔尝试过也不是很清楚各种方式之间都有什么区别,这里就做一个简答的总结,希望对你有所帮助。1,HEAD:HEAD和GET本质是一样的,区别在于HEAD不含有呈现数据,而仅仅是HTTP头信息。有的人可能觉得这个方法没什么用,其实不是这样的。想象一个业务情景:欲判断某个资源是否存在,我们通常使用GET,但这里用HEA...

2018-09-13 10:36:50 2418

原创 SpringCloud入门详解(二)创建eureka server(Client)和普通的springboot项目有什么区别

    Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。Spring Cloud将它集成在其他子项目spring-cloud-netflix中,以实现spring cloud服务发现功能。    eureka是一个高可用的组件,它没有后端缓存,每一个实例注册之后需要向注册中心发送心...

2018-09-13 10:18:22 3900

原创 SpringCloud入门详解(一)springCloud基础概念

一,官方定义1、一些列的独立的服务共同组成系统2、单独部署,跑在自己的进程中3、每个服务为独立的业务开发4、分布式管理5、非常强调隔离性二,要实际的应用微服务,需要解决一下四点问题:1、客户端如何访问这些服务2、每个服务之间如何通信3、如此多的服务,如何实现?4、服务挂了,如何解决?(备份方案,应急处理机制)客户端访问服务模型三,一般在后台N个服务和...

2018-09-13 09:51:40 2765

原创 Java内存区域与内存溢出异常(一)运行时数据区域

   Java和C++支架有一堵由内存动态分配和垃圾收集技术所围成的 "高墙",墙外的人想进去,墙里面的人却想出来。   对于从事C,C++程序开发的开发人员来说,在内存管理区域,他们即是拥有最高权限的 "皇帝" 又是从事最基础工作的  "劳动人民"----即拥有每个对象的所有权利,又背负着所有对象从开始到终结的维护任务。    对于Java程序员来说,在虚拟机自动内存管理机制的帮助下,不...

2018-09-12 18:00:12 317

转载 java内存分配详解

内存分配 java内存一般分为以下几个部分 1、栈区(stack)— 由编译器自动分配以及释放,无法手动干预 ,存放的是对象的引用,局部变量以及等等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放,隐式创建和显式创建(new), 若程序员不释放,程序结束时可能由GC回收 。3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化...

2018-09-04 14:27:24 406

空空如也

空空如也

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

TA关注的人

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