- 浏览: 10506 次
- 性别:
- 来自: 南京
最新评论
文章列表
一、在理解垃圾回收前需要了解一个对象在堆内存中的引用状态,分为三种:
1.可达状态:对象创建后,有一个或以上的引用变量引用它。
2.可恢复状态:程序中某个对象不再有任何引用变量引用它,但是还是有可能重新被其他引用变量引用。
3.不可达状态:对象与所用引用变量的引用都被切断,且jvm执行finalize()方法进行资源清理后没有成为可达状态,那么这个对象将永久的失去引用,编程不可达状态。(GC真正回收的正是处于这种状态的对象)。
public void test(){
//此处对象为可达状态
String a=new String("thi ...
最近学习zookeeper ,遇到一个问题,按照要求配置完成后,运行zkServer.sh start,命令行显示:
JMX enabled by default
Using config: /usr/local/hadoop/zookeeper-3.4.6/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
以为启动了,但是zkServer.sh status查看状态却显示:
JMX enabled by default
Using config: /usr/local/hadoop/zookeeper-3.4.6/b ...
一、问题的提出
在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之一。系统优化中一个很重要的方面就是SQL语句的优化。对于海量数据,劣质SQL语句和优质SQL语句之间的速度差别可以达到上百倍,可见对于一个系统不是简单地能实现其功能就可,而是要写出高质量的SQL语句,提高系统的可用性。
在多数情况下,Oracle使用索引来更快地遍历表,优化器主要根据定义的索引来提高性能。但是,如果在SQL语句的where子 ...
a href="#"> 点击链接后,页面会向上滚到页首,# 默认锚点为 #TOP
<a href="javascript:void(0)" onClick="window.open()"> 点击链接后,页面不动,只打开链接
<a href="#" onclick="javascript:return false;"> 作用同上,不同浏览器会有差异。
点击链接后,不想使页面滚到页首,就用href="javascript:void(0)",不要 ...
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
方法的描述:
函数名
函数说明
使用举例
contains
判断字符串是否包含另外一个字符串
<c:if test="${fn:contains(name, searchString)}">
cont ...
1.查看端口号
mac:lsof -i:11211
Linux:netstat -pan | grep 11211
2、修改hostname
sudo scutil --set HostName MacBookPro
mac显示隐藏文件
在终端里输入下面命令即可让它们显示出来。
defaults write com.apple.finder AppleShowAllFiles -bool true
如果想恢复隐藏,可以用这个命令:
defaults write com.apple.finder AppleShowAllFiles -bool false
...
参考《Head First 设计模式》
单件模式 定义:确保一个类只有一个实例,并提供一个全局的访问点。
单件模式如果没有做同步处理,在多线程环境下很容易造成出现多个实例情况。一下三种实现方式可以解决这个问题。
实现一:
public class Singleton {
private static Singleton uniqueInstance;
// other useful instance variables here
private Singleton() {}
public static synchronized Singleton get ...
依赖范围控制哪些依赖在哪些classpath 中可用,哪些依赖包含在一个应用中。让我们详细看一下每一种范围: compile (编译范围) compile是默认的范围;如果没有提供一个范围,那该依赖的范围就是编译范围。编译范围依赖在所有的classpath 中可用,
同时它们也会被打包。 provided (已提供范围) provided 依赖只有在当JDK 或者一个容器已提供该依赖之后才使用。例如, 如果你开发了一个web 应用,你可能在编译
classpath 中需要可用的Servlet API 来编译一个servlet,但是你不会想要在打包好的WAR 中包含这个Servlet A ...
Linux基础指令
date :显示日期,如date +%Y/%m/%d (2014/10/29)
cal:日历指令。例如 cal 10 2014 :显示2014年10月份日历
bc :计算器。bc预讴仅输出整数,如果要输出小数点下位数,那举就必须要执行 scale=number,退出(quit或ctrl+c) ...
在重新equals方法时为啥要重写hashCode方法?
重写的原则是:两个对象根据equals方法相等,则两个对象hashCode产生同样的整数结
果。
其实重写hashCode方法是为了保证一些基于散列的集合能正常工作,这样集合包括
(HahsMap,HashSet,HashTable)。因为此类集合是利用hash算法与equals来区分对象的等同性。比如:对类 Test重写了equals方法,没有重写hashCode方法,意味着当Test类的两个实例a和b,在逻辑上相同(a.equals(b)==true),但是两个实例的hashCode不同。当定义一个Map对象:
Map& ...
java:
// 192.168.1.103
log.debug(request.getRemoteHost());
// 192.168.1.103
log.debug(request.getRemoteAddr());
// 52721
log.debug(request.getRemotePort());
// null
log.debug(request.getRemoteUse ...
字段
允许值
允许的特殊字符
秒
0-59
, - * /
分
0-59
最近在做一个微信抢购活动,需要在微信浏览器中执行相应的web抢购程序。但在调试的时候,发现,点击抢购按钮,第一次可以,下面再点击 根本就没有调用后台,直接返回跟第一次一样的结果。
第一次在微信浏览器中开发。搞了许久才考虑到是缓存原因。于是,我清理了 微信缓存,果然又可以调用后台了,但也只能调用一次。这才确定原因。
原来我点击抢购按钮时,浏览器中会记录此次请求所有信息,包括返回值,当我,第二次抢购时由于url 与参数完全相同,微信会认为此次抢购与上次相同,就会忽略后台请求,并把上次缓存的结果直接发来了。
解决此问题办法就是让浏览器认为每次请求是不同的,添加一时间戳或随机数 ...
今天发现两个关于java URL编码解码的误区:
1:URLEncoder 进行编码两次 值是一样的 ?
String aa="测试";
String test=URLEncoder.encode(aa,"UTF-8");
System.out.println(test);
System.out.println(URLEncoder.encode(test,"UTF-8"));
output:
%E6%B5%8B%E8%AF%95
%25E6%25B5%258B%25E8%25AF%2595
...
1.访问控制修饰符
Modifier
Class
Package
Subclass
World
public
Y
Y
Y
Y
protected
Y
Y
Y
N
no modifier
Y
Y
N
N
private
Y
N
N
N
2.其它修饰符
abstract,final,static,native,synchronized,transient,volatile等
3.使用注意
A:对于形式参数只能用final修饰符,其它任何修饰符 ...