字节码长度
摘要:字节是指一小组相邻的二进制数码。通常是8位作为一个字节。它是构成信息的一个小单位,并作为一个整体来参加操作,比字小,是构成字的单位。 在微型计算机中,通常用多少字节来表示存储器的存储容量。 编码不同,占的字节不同。 ASCII码:一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空
阅读全文
happen-before原则
摘要:单线程happen-before原则: 在同一个线程中,书写在前面的操作happen-before后面的操作。 锁的happen-before原则: 同一个锁的unlock操作happen-before此锁的lock操作。 volatile的happen-before原则: 对一个volatile变
阅读全文
java 中的锁
摘要:锁的分类: 公平锁/非公平锁 可重入锁 独享锁/共享锁 互斥锁/悲观锁 分段锁 偏向锁/轻量级锁/重量级锁 自旋锁 公平锁/非公平锁 公平锁是指多个线程按照申请锁的顺序来获取锁。 非公平锁是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁。有可能,会造成优先级
阅读全文
Java中创建对象的方式
摘要:1、new :最常见的方法 Employee emp1 = new Employee(); 2、使用newInstance()需要在有一个无参的构造方法,这个newInstance方法调用无参的构造函数创建对象。类名.calss.newInstance( ) Employee emp2 = Empl
阅读全文
位运算(&、|、^、~、>>、<<)
摘要:1.位运算概述 从现代计算机中所有的数据二进制的形式存储在设备中。即0、1两种状态,计算机对二进制数据进行的运算(+、-、*、/)都是叫位运算,即将符号位共同参与运算的运算。 口说无凭,举一个简单的例子来看下CPU是如何进行计算的,比如这行代码: 计算两个数的和,因为在计算机中都是以二进制来进行运算
阅读全文
算法思想
摘要:算法的设计思想1、贪婪法 greedy algorithm 又称贪心算法。它的每次决策都是以当前情况为基础并根据某个最优原则进行选择,不从整体考虑其他可能的情况。对于特定问题是非常有效的方法,但往往不是最优解。 步骤: 1)建立对问题精确描述的数学模型,包括定义最优解的模型。 2)将问题分解为一系列
阅读全文
数据结构
摘要:线性表 1、数组 array 数组中,所有的数据元素存储在一片连续的区域内。对数组的访问方式一般是通过下标,数组元素的直接访问几乎没有开销,但是在插入和删除需要移动数组,操作比较频繁的场合,不适合使用数组。 2、 栈(stack):先进后出 栈(stack)是限制插入和删除只能在一个位置上进行的表,
阅读全文
pagehelper 分页
摘要:分页jar包: <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.1</version> </dependency> 配置: import ja
阅读全文