- 浏览: 209686 次
- 性别:
- 来自: 哈尔滨
最新评论
文章列表
PhantomReference
一、总结
1.jdk 1.8.0
2.定义
虚引用也称为幽灵引用或者幻影引用,它是最弱的一种引用关系。一个持有虚引用的对象,和没有引用几乎是一样的,随时都有可能被垃圾回收器回收。当试图通过虚引用的get()方法取得强引用时,总是会失败。并且,虚引用必须和引用队列一起使用,它的作用在于跟踪垃圾回收过程。
二、源码分析
/*
* Copyright (c) 1997, 2003, Oracle and/or its affiliates. All rights reserved.
* ORACLE PROPRIETARY/CONFIDENTIAL ...
FinalReference
一、总结
1.jdk 1.8.0
2.特点
强引用可以直接访问目标对象;
强引用锁指向的对象在任何时候都不会被系统回收。JVM宁愿抛出OOM异常也不回收强引用所指向的对象;
强应用可能导致内存泄露;
FinalReference 不对外提供,类的访问权限 protect
二、源码分析
/* Final references, used to implement finalization */
class FinalReference<T> extends Reference<T> {
public ...
使用软引用构建敏感数据的缓存
一、实现原理
1.应用场景
查询频率较高的数据;每次查询均需要通过接口与数据库交互,构建对象仍需要占用一部分内存;即便上次查询的结果仍在内存中还未被GC回收但仍需要再次进行相同的 ...
SoftReference
一、总结
1.jdk 1.8.0
2.定义
是用来描述一些还有用但并非必须的对象。对于软引用关联着的对象,在系统将要发生内存溢出异常之前,将会把这些对象列进回收范围之中进行第二次回收。如果这次回收还没有足够的内存,才会抛出内存溢出异常。
3.特点
对于软引用关联着的对象,如果内存充足,则垃圾回收器不会回收该对象,如果内存不够了,就会回收这些对象的内存
4.应用
通常用于实现内存敏感的缓存
二、源码分析
/**
* Soft reference objects, which are cleared at the discretio ...
JSP页面中分页功能实现使用了
<urlChangePage:pages />
实现流程:
分页插件
1.pom.xml 引入依赖 jsp-api
2.编写自定义方法继承TagSupport
3.编写对应的*.tld文件
4.web.xml 加载
5.使用方法
a.在web.xml中不需配置
JSP上面注入标签
<%@ taglib prefix="urlChangePage" uri="/urlChangePage"%>
在需要展示分页的地方
<urlChangePage:pages /> pages 为 ...
WeakReference
一、总结
1.jdk 1.8.0
2.定义
用来描述非必须的对象,但是它的强度比软引用更弱一些,被弱引用关联的对象只能生存到下一次垃圾收集发送之前。当垃圾收集器工作时,无论当前内存是否足够,都会回收掉只被弱引用关联的对象。一旦一个弱引用对象被垃圾回收器回收,便会加入到一个注册引用队列中。
3.
存活周期,第一次GC后到第二次GC前,第二次GC时被回收。
如果使用带有引用队列的构造方法,GC回收时弱引用被放入引用队列。
4.应用
WeakHashMap
二、源码分析
/**
* Weak reference objects, which do n ...
对象引用及对象赋值
一、对象引用与对象创建
Object obj = new Object();
Object:类对象,存放在方法区中
Object obj:类引用变量,即类的实例对象的引用,存放在Java虚拟机栈中的局部变量表
new Object:形成了一块存储了Object类型 ...
1.
// 访问根目录
<a href="/" />
// localhost:8080/about 不带域名
<a href="/about" />
// localhost:8080/domain/about 带有域名
<a href="about" />
问题场景:
Java Web项目 PC 端改版,思路是新增页面、URL,与原有的页面、访问路径相区分;
好处:便于回滚;
缺点:重新做一套新的页面
在WEB项目的webapp 目录下的 css 目录下新建了一个 revision 文件夹,再在 revision 文件夹内建 ...
ThreadLocal
一、总结
1.版本 jdk 1.8.0_131 java SE
2.ThreadLocal
应用场景:在不同的线程存储不同的上下文信息的场合中
实现原理:ThreadLocal只是提供一个thread-local变量,这个变量于当前线程所独有, 每一个线程都有一个隶属与当前线程的thread-local变量
3.ThreadLocal.ThreadLocalMap
Thread类中持有ThreadLocalMap的对象引用
ThreadLocalMap 的数据结构是数组 Entry[]
数组初始化大小 16,扩展 *2 ,扩展因子:length * 2 / ...
索引相关
一、InnoDB 与 MyISAM 对比
存储引擎InnoDBMyISAM存储结构InnoDB表空间数据文件和它的日志文件;表数据文件本身就是按B+Tree组织的一个索引结构,这棵树的叶节点data域保存完整的数据记录。这个索引的key是数据表的主键,因此InnoDB表数据文件本身就是主索引MyISAM表建立三个不同的文件;表定义、数据文件、索引文件索引的数据结构B+树B+树叶子节点的键值KEY表的主键(一般主键INT无符号自增)索引的相应字段的值叶子节点的DATA域保存完整的数据记录数据记录的地址,即数据文件中的每行数据的地址辅助索引辅助索引data域存储相应记录主键的值而不是地 ...
一、代码如下:
public static void main(String[] args) {
int a = -10 ;
for(int i=0;i<32;i++){
int t = (a & 0x80000000>>>i)>>>(31-i);
System.out.print(t);
}
// String binaryString = Integer.toBinaryString(-10);
// System.out.println(binaryString);
}
...
一、distinct 、 union all 、 union 区别
1.问题SQL及改进SQL
-- 表结构,user_id c_user 分别添加了索引,且字段可空,varchar(32),编码UTF-8
-- 问题SQL
select count(c_user) from
(select user_id as c_user from jr_td_project_invest union select c_user from p2p_td_project_invest ) as count_investor;
-- 改进后:
select count(distinct c_ ...
一、索引分类
1.单列索引:一个索引包含一列,一个表可以包含多个单列索引;分为:
普通索引
主键索引
唯一索引:与主键索引相似,区别:可以为NULL,主键索引不可以
2.组合索引:一个组合索引包含两个或两个以上的列
二、索引创建、删除
1.创建索引
-- 索引类型:primary key 主键索引、UNIQUE INDEX 唯一索引、INDEX 普通索引、组合索引;
-- 索引名称:见名知意,不易过长;唯一索引 unique_index_column_name 、组合索引 a_b_c_d 依次列出字段名称 union_index ; 普通索引 index_(idx_简写为)
...
基础概念
一、基础概念
概念英文说明其他比特bit数据传输大多以比特为单位二进制位:0或1字节Byte数据存储以字节为单位1Byte = 8 bit字符Character计算机中使用的文字和符号比如:1、2、3、A、B、C字符集Charset是一个系统支持的所 ...