自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

坤健的博客

天行健,君子以自强不息。地势坤,君子以厚德载物

  • 博客(13)
  • 资源 (8)
  • 收藏
  • 关注

原创 JVM方法内联

1. 函数的调用过程。调用某个函数实际上将程序执行顺序转移到该函数所存放在内存中某个地址,将函数的程序内容执行完后,再返回到转去执行该函数前的地方。 这种转移操作要求在转去前要保护现场并记忆执行的地址,转回后先要恢复现场,并按原来保存地址继续执行。也就是通常说的压栈和出栈。 因此,函数调用要有一定的时间和空间方面的开销。那么对于那些函数体代码不是很大,又频繁调用的函数来说,这个时间

2017-09-27 09:38:53 401 1

原创 利用Apache实现图片服务器的分离

起步阶段的应用,都可能部署在一台服务器上(费用上的原因) 第一个优先分离的,肯定是数据库和应用服务器。 第二个分离的,会是什么呢?各有各的考虑,我所在的项目组重点考虑的节约带宽,服务器性能再好,带宽再高,并发来了,也容易撑不住。因此,我这篇文章的重点在这里。这里重点是介绍实践,不一定符合所有情况,供看者参考吧, 环境介绍: WEB应用服务器:4CPU双核2G, 内存4G   部

2017-09-20 22:28:16 1024

原创 粘性session和非粘性session

负载均衡的方法:1、基于request的负载均衡    该种方式下,负载均衡器 (load balancer)会根据各个node的状况,把每个 http request进行分发。使用这样的均衡策略,就必须在多个node之间复制用户的session,实时保持整个cluster的用户状态同步,这种操作被称为session复制(session replication)。Jboss的实现原理是使用

2017-09-19 22:33:50 2864 1

原创 HashMap和TreeMap

首先在数组中我们是通过数组下标来对其内容索引的,而在Map中我们通过对象来对对象进行索引,用来索引的对象叫做key,其对应的对象叫做value.这就是我们平时说的键值对。HashMap 是基于哈希表(线程安全的,不允许使用null键)的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。不保证映射的顺序,特别是它不保证该顺序恒久不变(即迭代的顺序不一定

2017-09-15 12:42:25 1340

原创 堆中基本操作方法伪代码分析

堆其实是利用完全二叉树的结构来维护一组数据,然后进行相关操作,一般的操作进行一次的时间复杂度在O(1)~O(logn)之间。堆的几个基本操作:上浮 shift_up;下沉 shift_down插入 push弹出 pop取顶 top堆排序 heap_sortShift_up( i )//i为当前节点{ while( i / 2 >= 1) {

2017-09-14 15:49:45 1199

原创 js中的反射机制

今天早上面试大美,刚开始就一脸懵逼了,问我在js中哪个函数用到反射(不知道自己理解的对不对),反射我倒是知道,在js中。。。。完全答不出来。。。。什么是反射机制反射机制指的是程序在运行时能够获取自身的信息。例如一个对象能够在运行时知道自己有哪些方法和属性。在JavaScript中利用for(…in…)语句实现反射在JavaScript中有一个很方便的语法来实现反射,即for

2017-09-14 14:43:24 1012

原创 TCP的三次握手和四次挥手,以及两次握手为什么不行?

TCP三次握手和四次挥手的全过程三次握手: 第一次握手:客户端发送syn包(syn=x)到服务器,并进入SYN_SEND状态,等待服务器确认; 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(syn=y),即SYN+ACK包,此时服务器进入SYN_RECV状态; 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包A

2017-09-08 12:49:10 2062

原创 Java抽象类和接口

Java抽象类在面向对象的领域一切都是对象,同时所有的对象都是通过类来描述的,但是并不是所有的类都是来描述对象的。如果一个类没有足够的信息来描述一个具体的对象,而需要其他具体的类来支撑它,那么这样的类我们称它为抽象类。比如new Animal(),我们都知道这个是产生一个动物Animal对象,但是这个Animal具体长成什么样子我们并不知道,它没有一个具体动物的概念,所以他就是一个抽象类,需要

2017-09-07 22:12:15 249

原创 Java动态代理机制

在java的动态代理机制中,有两个重要的类或接口,一个是 InvocationHandler(Interface)、另一个则是 Proxy(Class),这一个类和接口是实现我们动态代理所必须用到的。InvocationHandler:InvocationHandler is the interface implemented by the invocation handler of

2017-09-07 16:03:19 187

原创 修饰符volatile和synchronized的区别联系

关键字volatitle的主要作用是使变量在多个线程间可见。关键字volatile的作用是强制从公共堆栈中取得变量的值,而不是从线程私有数据栈中取得变量的值。public class RunThread extends Thread { private volatile boolean isRunning = true; public boolean isRunning(){

2017-09-03 15:40:33 496

原创 synchronized和static synchronized的区别

synchronized提供内部锁的机制,防止其它线程同时进入synchronized的代码块。synchronized由两部分组成:1.锁对象的引用;2.锁保护的代码块。 对锁对象引用的不同,是static synchronized和synchronized最大的区别:public class SynchronizedTester { /* * testOne()和te

2017-09-03 14:38:38 413

原创 mysql下count(*),count(1)与count(column)区别

count(*)对行的数目进行计算,包含NULL。count(column)对特定的列的值具有的行数进行计算,不包含NULL值。count()还有一种使用方式,count(1)这个用法和count(*)的结果是一样的。任何情况下SELECT COUNT(*) FROM tablename是最优选择;尽量减少SELECT COUNT(*) FROM tablename WHERE C

2017-09-01 16:57:18 280

原创 MySQL数据库优化的八种方式

选取最适用的字段属性​ MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用VARCHAR这种类型也是多余的,因为CHAR(6)就可以很好的完成任务了。同样

2017-09-01 15:51:58 259

chm编辑工具

CHM编辑器,适合编辑chm文件

2018-05-03

web项目UI界面2

适合web信息管理平台的UI搭建,结合后台,可以达到良好的用户体验

2017-05-13

web项目UI界面

适合web项目开发,结合后台,可以达到良好的用户体验

2017-05-13

管理系统UI模板

比较好的web项目前台界面,结合后台能达到很好的用户体验

2017-05-13

log4j配置文件

文件内包含log4j.properties文件的基本配置以及注释,方便理解

2017-02-17

inno setup

inno工具,用于将jar转换成的exe文件连同运行环境一起做成安装文件,使用户安装时能直接安装运行环境

2017-02-15

exe4j_windows_5_1

exe4j用于将jar文件转成.exe文件

2017-02-15

空空如也

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

TA关注的人

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