- 浏览: 59406 次
- 性别:
- 来自: 北京
最新评论
-
shifulong:
cywhoyi 写道现在用Javassist代理也不错的看了一 ...
java动态代理(jdk &cglib) -
cywhoyi:
现在用Javassist代理也不错的
java动态代理(jdk &cglib)
文章列表
庆祝一下,第一次用工具画图,^_^
应用
可做任务队列的消费,将具体的操作封装成command,由receiver通用调用execute,感觉和线程池有点像啊。
日志系统的恢复操作,execute同时调用save,将操作持久化,当机器突然broke重启,顺序的load#command然后调用undo可以恢复现场。
其他
下面是head first的一个demo&所有demo类的截图
controller相当一个遥控器,控制着灯的开关,门的开关等
controller中通过一个堆栈实现命令的撤销操作
public class Ga ...
mysql select for update, row lock, table lock
一些前置条件
打开连个控制台模拟
mysql> show create table table_test;
| Table | Create Table
| table_test | CREATE TABLE `table_test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`id_in ...
extends
List<? extends Number>
下面这三种通配符声明都是合法的
List<? extends Number> foo3 = new ArrayList<Number>(); // Number "extends" Number (in this context)
List<? extends Number> foo3 = new ArrayList<Integer>(); // Integer extends Number
List<? extends Num ...
下面是一个较为详细的spring缓存的介绍
http://www.ibm.com/developerworks/cn/opensource/os-cn-spring-cache/
Cacheable注解,是spring支持的一个注解,用法就不多说了,但是发现了一个奇怪的用法,Cacheable的value属性官方定义为缓存的名字,但是在这里却被当成了缓存的失效时长。
/**
* http请求获取城市列表
*/
@Override
@Cacheable(value = "86400", key = " ...
FactoryBean
当配置文件中<bean>的class属性配置的实现类是FactoryBean时,通过 BeanFactory#getBean()方法返回的不是FactoryBean本身,而是FactoryBean#getObject()方法所返回的对象,相当于FactoryBean#getObject()代理了getBean()方法
public interface FactoryBean<T> {
/**
* Return an instance (possibly shared or independent) of the object
...
kafka partition文件存储结构
- 博客分类:
- kafka
partition相当于一个大文件呗平均分成多个segment数据文件,每个segment尤两个两个文件构成***.index(索引文件)和***.log(数据文件)组成
直接上两张图就一目了然了
优点:
文件的命名相当于查找的稀疏索引,省去索引文件
每个segment索引又是一个稀疏索引减少索引文件的大小
but:查找起来需要消耗更多的时间
查找步骤:
二分查找定位到segment
查找segment定位log在数据文件的相对物理位置
读取数据
最后甩个链接
http://tech.meituan.com/kafka-fs-de ...
Kafka是由LinkedIn开发的一个分布式的消息系统,使用Scala编写
kafka是基于zookeeper的,在启动kafka之前要先启动zookeeper,kafka默认自带zookeeper,不需要自带的可以自行安装。
1.下载安装
官网下载,解压到 /usr/local下
shifulong kafka_2.9.1-0.8.2.2$ pwd
/usr/local/kafka_2.9.1-0.8.2.2
shifulong kafka_2.9.1-0.8.2.2$ ll
total 32
drwxr-xr-x@ 8 shifulong ...
jps
jps -mlv 列出当前jvm进程
jinfo
jinfo 5743 (jps的进程号) 动态的设置 | 添加 | 删除flag参数
截图的信息不完全,上面还有好多系统的参数、classpath 、balabala
Exception handling
(排在前面的异常的优先级低)
http://hc.apache.org/httpclient-3.x/exception-handling.html
There are two main type of exceptions that the user of HttpClient may encounter when executing HTTP methods:
1.transport exceptions
java.io.IOException
java的IOException代表HttpClient的通用的transport ...
写了一个线程安全的计数器(用锁显得多没有水平),非阻塞的,通过自旋的CAS操作达到数据一致性的效果
开始先说下原子变量和锁的比较
锁在高竞争的时候效率会高于原子变量,但是在中低竞争的时候原子变量的性能会好一些
类比:(交通拥堵时,交通信号灯能够实现更高的吞吐量,而在低拥堵时,环岛能实现更高的吞吐量)
知识点:
UnSafe的CAS操作
unsafe.compareAndSwapInt(this, valueOffset, oleVal, newVal)
UnSafe的实例化
1.JDK适用UnSafe是通过下面的代码获取的
private static final ...
猜猜下面几个程序,那个是线程安全的
NO1
public class Main {
public static class AddTest extends Thread {
private static Integer num = 0;
@Override
public void run() {
for (int i = 0; i < 1000; i++) {
num = num + 1;
System.out.pri ...
网站favicon.ico配置
- 博客分类:
- 前端
在header中加入icon的请求链接
<link rel="shortcut icon" href="/supplierplatform/resource/favicon.ico" type="image/x-icon">
springmvc资源拦截做出对应配置
<mvc:resources mapping="/supplierplatform/resource/**" location="/resource/"></mvc:resourc ...
Java 7的并发包中推出了Phaser,其功能跟CyclicBarrier和CountDownLatch有些重叠,但是提供了更灵活的用法,例如支持动态调整注册任务的数量等
别人的牛逼的blok: http://whitesock.iteye.com/blog/1135457
package com.test.uuu;
import java.util.concurrent.Phaser;
/**
* Phaser:阶段的意思
* 有两个概念:phase & party ,phase 表明当前执行的阶段,party当前注册了的线程数量
* <p/& ...
Exchanger 用于线程之间数据交换,通过exchanger.exchange(obj) 这个方法交换
如果第一个线程执行到exchange方法,它会等待第二个线程也执行到exchange,
当两个线程都执行到同步点时,这两个线程就可以交换数据。
个人感觉可以做生产者和消费者呢,什么时候交换要有个交换策略的哈。
package com.test.uuu;
import java.util.concurrent.Exchanger;
public class ExchangerTest {
public static void main(String[] ar ...
快速排序quickSort
public class Test {
public static void main(String[] args) {
int arr[] = {3, 5, 6, 333, 5, 2, 1111, 1, 2, 3, 4, 5, 6, 7, 8, 8};
quickSort(arr, 0, arr.length - 1);
}
public static void quickSort(int arr[], int start, int end) {
if (start >= ...