- 浏览: 39333 次
- 性别:
- 来自: 北京
最新评论
文章列表
线程的状态控制
在这里需要明确的是:无论采用继承Thread类还是实现Runnable接口来实现应用程序的多线程能力,都需要在该类中定义用于完成实际功能的run方法,这个run方法称为线程体(Thread Body)。按照线程体在计算机系统内存中的状态不同,可以将线程分为创建、就绪、运行、睡眠、挂起和死亡等类型。这些线程状态类型下线程的特征为: 创建状态:当利用new关键字创建线程对象实例后,它仅仅作为一个对象实例存在,JVM没有为其分配CPU时间片等线程运行资源; 就绪状态:在处于创建状态的线程中调用start方法将线程的状态转换为就绪状态。这时,线程已经得到除CPU ...
InnoDB表建立索引注意:
InnoDB表是基于聚簇索引建立的,InnoDB的索引结构,非常不同于其他大多数MySQL存储引擎,因此,它只提供一种非常快速的主键查找性能。不过,它的辅助索引(Sencondary Index,也就是非主键索引)也会包 ...
上图是线程池的类体的结构图,从中能够看出继承顺序以及一些静态方法等。
首先Executor的execute方法只是执行一个Runnable的任务,当然了从某种角度上将最后的实现类也是在线程中启动此任务的。根据线程池的 ...
经常接触Python的同学可能会注意到,当需要安装第三方python包时,可能会用到easy_install命令。easy_install是由PEAK(Python Enterprise Application Kit)开发的setuptools包里带的一个命令,它用来安装egg包。egg包是目前最流行的python应用打包部署方式。如何制作和安装egg包?下面我就简单的分析了一下。
1.1 安装setuptools
首先要安装setuptools工具。Debian/Ubuntu下可以直接使用apt安装::
$ sudo apt-get install python-setupt ...
Mysql的安装
1、rpm安装步骤:
大多数情况下,下载Mysql-server和Mysql-client就够用了,安装方法如下:
shell> rpm –ivh Mysql-server-VERSION.i386.rpm
shell> rpm –ivh Mysql-client-VERSION.i386.rpm
2、二进制安装步骤:
root登陆,执行如下步骤:
shell> groupadd mysql
shell> useradd –g mysql mysql
shell> cd ...
下面是proto描述文件的定义
message Person {
required string name = 1;
required int32 id = 2;
optional string email = 3;
enum PhoneType {
MOBILE = 0;
HOME = 1;
WORK = 2;
}
message PhoneNumber {
required string number = 1;
optional PhoneType type = 2 [default = H ...
一、Ioc容器的初始化:
1、Ioc容器的初始化是通过调用refesh方法来进行初始化;
2、Ioc容器的初始化可分为三个基本过程:
(1) BeanDefinition的Resource定位:
所谓的Resource定位就是找到定义bean信息的资源文件的物理位置;
(2) BeanDefinition的载入;
载入就是将定义好的Bean信息表示成Ioc容器内部的数据结构;
(3) BeanDefinition的注册;
这个过程是通过调用BeanDefinitionRegistry接口的实现来完成的,这个 ...
最近在学习osgi与spring-dm整合做web例子时,有时会需要引入第三方jar包,但是在osgi工程的规范中是不允许直接导入第三方jar包的,现用如下方式来解决这一问题:
主要思想就是将下载好的jar包转换成一个plug-in工程,方法如下:
利用eclipse官方推荐的方式:
1、新建eclipse工程,工程选择为Plug-in Development—>Plug-in from Existing JAR Archives;
2、点击Add External...按钮,添加已经下载好的jar包;
3、注意两点,一是最好在"This ...
昨天再看osgi原理与最佳实践的书时,由于没有源码就自己写了一下字典类中的web实现,详细的就不多介绍了直接上传代码
本人也是初次学习osgi,如有什么问题,请各位大侠赐教。
web并不是用spring做的,是简单的servlet。
继续:今天又学习了一下osgi和spring的整合的例子,例子中包括简单的java控制台,以及javaWeb版本。WEB的利用的是SpringMVC,本人一直从事java后台技术的开发,已经很久没有看过spring了,大家直接看代码吧,只是小的例子。现在开始准备看看spring的源码,不知从哪开始看比较好,希望大家给予指引。
刚刚在写关于python的反射代码,现跟大家分享一下
import new
class TestService:
def helloWorld(self):
print 'Hello World , this is Test '
service = globals()['TestService']
obj = new.instance(service)
service.__dict__['helloWorld'](obj)
解释一下:
1、通过globals()这个函数可以得到一个跟一个工程相关类的一个字典集合,然后可以通过这个字典集合或得我们想要 ...
此文章转自http://www.cnblogs.com/huxi/archive/2010/06/26/1765808.html
1. 线程基础
1.1. 线程状态
线程有5种状态,状态转换的过程如下图所示:
1.2. 线程同步(锁)
多线程的优势在于可以同时运行多个任务(至少感觉起来是这样) ...
一、Git 介绍
Git 是一个分布式版本控制/软件配置管理软件(SCM),和SVN、CVS不同,不是集中化的版本控制系统。提供全局的配置管理;
支持Linux、BSD、Solaris、Windows、Android;
作者为Junio Hamano (git负责人/日本人)、Linus Torvalds(linux kernel负责人);
Git为英格兰俗语,为饭桶、猪头的意思,
现在一般认为Git为the stupid content tracker,傻瓜内容跟踪器
二、Git的基本概念
工作目录(wo ...
最近一直想学一下python,都说python是一门不错的动态语言,个人认为它最适合的一点就是做一些执行脚本,提供一些自动化的运行机制,这样可以在庞大的企业级系统中发挥其特点,也可以避免由于不必要的手工操作造成不可估 ...
1、文本文件读写工具类
view plain
<span style="font-size:16px;">package mine.util;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
/**
* 此工具类用于文本文件的读写
*
* @author Touch
*/ ...
各部分比例不良设置会导致什么后果
1)新生代设置过小
一是新生代GC次数非常频繁,增大系统消耗;二是导致大对象直接进入旧生代,占据了旧生代剩余空间,诱发Full GC
2)新生代设置过大
一是新生代设置过大会导致旧生代过小(堆总量一定),从而诱发Full GC;二是新生代GC耗时大幅度增加
一般说来新生代占整个堆1/3比较合适
3)Survivor设置过小
导致对象从eden直接到达旧生代,降低了在新生代的存活时间
4)Survivor设置过大
导致eden过小,增加了GC频率
另外,通过-XX:MaxTenuringThreshold=n来控制新生代存活时间,尽量让对象在新 ...