自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 【MySQL中MyISAM与InnoDB区别】

文章转载自:https://blog.csdn.net/leeasony/article/details/803270931、存储结构 每个MyISAM在磁盘上存储成三个文件。第一个文件的名字以表的名字开始,扩展名指出文件类型。 .frm文件存储表定义。 数据文件的扩展名为.MYD (MYData)。 索引文件的扩展名是.MYI (MYIndex)。2、存储空间 MyISAM:可...

2018-09-10 22:35:19 123

转载 mybatis之<trim prefix="" suffix="" suffixOverrides="" prefixOverrides=""></trim>

1.&lt;trim prefix="" suffix="" suffixOverrides="" prefixOverrides=""&gt;&lt;/trim&gt;prefix:在trim标签内sql语句加上前缀。suffix:在trim标签内sql语句加上后缀。suffixOverrides:指定去除多余的后缀内容,如:suffixOverrides=","

2018-08-19 14:59:05 286

转载 Java高并发综合

并发模式 悲观锁和乐观锁的理解及如何实现有哪些实现方式 悲观锁 乐观锁 并发编程 Java中如何创建一个线程 VectorHashTable如何实现线程安全 synchronized修饰方法和修饰代码块时有何不同 ConcurrentHashMap的如何实现线程安全 Java中有哪些实现并发编程的方法 ConcurrentHashMap的的实现原理见前 C...

2018-08-05 21:27:57 136

转载 ConcurrentHashMap的锁分段技术

线程不安全的HashMap因为多线程环境下,使用Hashmap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap。如以下代码:01 final HashMap&lt;String, String&gt; map = new HashMap&lt;String, String&gt;(2); 02   03      ...

2018-08-05 21:12:56 1030 1

转载 Volatile和synchronized区别、死锁概念

1、Volatile变量和同步机制synchronized 、Lock区别1、volatile变量是一种稍弱的同步机制在访问volatile变量时不会执行加锁操作,因此也就不会使执行线程阻塞,因此volatile变量是一种比synchronized关键字更轻量级的同步机制。2、从内存可见性的角度看,写入volatile变量相当于退出同步代码块,而读取volatile变量相当于进入同步代码块...

2018-08-05 16:38:35 509

转载 当使用mybatis时怎么防止sql注入

     SQL注入是一种代码注入技术,用于攻击数据驱动的应用,恶意的SQL语句被插入到执行的实体字段中(例如,为了转储数据库内容给攻击者)。[摘自] SQL injection - WikipediaSQL注入,大家都不陌生,是一种常见的攻击方式。攻击者在界面的表单信息或URL上输入一些奇怪的SQL片段(例如“or ‘1’=’1’”这样的语句),有可能入侵参数检验不足的应用程序。所以,在我们的应...

2018-07-15 23:56:20 4011

翻译 类加载机制

1.类加载机制的概述:虚拟机把描述类的数据从Class文件加载到内存,并对数据进行效验,解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。懒加载:就是当用的时候才打开:急时加载:一开始就打开。类加载就是用懒加载。2.类加载时机:类的生命周期: 加载和连接是可以同步的  当类加载完连接才可以完、3.类加载的过程:  下面三步不是一步一步进行的  是同时进行的。类的C...

2018-07-13 09:57:33 70

原创 Jconsole监控死锁

死锁:

2018-07-12 10:12:10 271

原创 jvm虚拟机对内存的分配策略

1.优先分配到Eden2.大对象直接分配到老年代3.长期存活的对象分配到老年底5.空间分配担保6.动态对象年龄判断二:逃逸分析与栈上分配:逃逸分析:分析对象的作用域。只有在方法体内部就不会发生逃逸  反之就会发生逃逸。能够定义在方法内部就不要定义在方法外部,以免发生逃逸  未发生逃逸就可以直接在栈中分配内存很好的提高性能。...

2018-07-12 09:39:19 114

原创 垃圾回收

1.如何判定对象为垃圾对象    1.1引用计数法:在对象中添加一个引用计数器,当有地方引用这个对象的时候,引用计数器的值就加1当引用失效时,引用对象值就减1.  很少用 因为 如果对象之间的关系,虽然对象是垃圾但是垃圾回收器不会回收。    1.2可达性分析法:作为GCRoot的对象,有虚拟机栈,方法区的类属性引用的对象,方法区中常量所引用的对象本地方法栈中引用的对象2.如何回收    2.1:...

2018-07-12 00:47:09 170

原创 对象再内存中的布局-对象的创建和对象的结构,对象的访问定位

1对象的创建:如下表主要问题:(类的加载后面会详细讲到)    虚拟机到底是如何为对象分配内存的呢?如何往堆中去进行?在分配内存时会出现一些线程安全问题,如何决解?1.1 给对象分配内存:堆是一块不连续的存储空间(假设堆内存规整的,用过的在一边空闲的在另一边,中间有指针,分配内存就是指针在移动的过程)1.1.1指针碰撞分配内存1.1.2:空闲列表:堆内存一般都是不规整的,一些使用一些未使用,虚拟机...

2018-07-11 22:00:36 122

原创 java虚拟机内存区域

1.程序计数器:

2018-07-11 20:40:41 119

原创 java8新特性之lanmbda表达式

传统写法   一个窗口添加一个点击事件  用到了匿名内部类下面是经过修改后的方法  不用匿名内部类用lanmbda表达式

2018-07-11 15:35:03 1547 1

原创 jvm初体验:内存溢出场景模拟

1.当我们不停的去创建Demo的对象时,对堆内存的消耗就不断的增加,如果堆内存爆满了程序也就挂了,也就会报内存溢出。OutOfMemonyError问题1:当代码很多的时候 我们如何定位是哪行代码使堆内存溢出?     这个时候就需要通过一些分析工具来进行定位,首先我们需要把堆内存转为一个快道(通过虚拟机的参数设置),然后通过快道对程序进行分析:如图:使用下面这个工具就可以分析运行是产生的文件:引...

2018-07-11 10:21:17 500

原创 jdk,jre,jvm的关系

JDK包含JRE,JRE包含JVM:如图:

2018-07-11 09:52:02 132

原创 探索JVM底层奥秘ClassLoader源码分析与案例讲解

1.JVM运行流程,JVM基本结构JVM基本结构    类加载器,执行引擎,运行时数据区,本地接口    class Flies -&gt;ClassLoader-&gt;运行时数据区-&gt;执行引擎,本地库接口-&gt;本地方法库类的装载;    加载,连接(验证,准备,解析),初始化,(实例化)使用(对象),卸载        加载:取得类的二进制的字节流,把字节流中的一些静态存储结构转化为...

2018-07-11 00:23:24 144

原创 对HashMap的理解

伸缩性角度看HashMap:1.HashMap     Hash  散列将一个任意的长度通过某种(hash函数算法)算法转换成一个固定值    移位法算出:    Map:地图  x,y, 存储    例:    总结:第一次放入Aa=1111,在Entry数组下标下标为4的地方放入,之后在放入BB=2222时,由于Aa与BB的hashcode相同,得到Entry数组下标也为4,就会在该位置插入B...

2018-07-10 18:01:29 655

空空如也

空空如也

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

TA关注的人

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