- 浏览: 377778 次
- 性别:
- 来自: 深圳
最新评论
-
zxjlwt:
学习论。确实很全啊。欢迎交流http://surenpi.co ...
eclipse dialog 对话框 大全 -
zxjlwt:
很好。http://surenpi.com
eclipse 源码泛读 -
string2020:
有卵用???
activiti 第一个例子 helloworld -
ysj_csdn:
能给个正确的例子?
activiti 第一个例子 helloworld -
zxjlwt:
学习了。http://surenpi.com
Eclipse扩展点介绍
文章列表
git 平时t常用命令
- 博客分类:
- other
git init --bare gitest.git 创建本地库
git clone file://C:/tmp/gitest.git/ mygit1
git clone file://C:/tmp/gitest.git/ mygit2
git reset e2bfbd1 --hard 回复每个版本
git stash 暂存
git pull
git stash pop 回复暂存
git branch --all -v 查看所有分支
git ls-files -s >a.txt 查看暂存区的文件内容
git log
按 q 退出
git cat-file -p a ...
项目组中使用GIT为什么总是有覆盖情况
- 博客分类:
- other
覆盖场景的模拟
准备环境
<!--[endif]-->
这里有2个本地库,模拟2个人(user1/user2)协助开发
并分别导入IDE中
<!--[endif]-->
2个文件的初始化内容
<!--[endif]-->
user1对2个文件进行编辑提交(push)
<!--[endif]-->
<!--[endif]-->
<!--[endif]-->
此时user1已经修改了2个文件并push到远程库
user2对其中一个文件(a.txt)
apache cli 例子
- 博客分类:
- java
<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>1.2</version>
</dependency>
package cli;
import org.apache.commons.cli.BasicParser;
import org.apache.commons.cli.CommandLine;
import o ...
zoremq
这个不能算是mq产品,只能算是个socket的封装,并针对常用场景进行了抽取。简化了网络编程。
jeromq 是对 zoremq 框架的一个纯粹的java版本的实现(不需要依赖zoremq 动态库)
jeromq 它是基于java nio 进行的封装。
maven 依赖,仅一个jar
<dependency>
<groupId>org.zeromq</groupId>
<artifactId>jeromq</artifactId>
<version>0. ...
Java socket 通讯流的测试
- 博客分类:
- java
场景
客户端 服务端 建立连接
客户端发送数据给服务端处理
服务端从输入流取到数据,处理中.....
此时客户断开连接
服务端将处理后的数据发送给客户,预想的情况,连接已断开,输出流已经不存在,write的时候应该报错
package tcp;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.Socket;
public ...
首先杀掉线程,不能用stop,信息请看JDK的文档说明。这里简单总结有2点:
1:关闭会导致线程中释放所有锁,这样不能保证其它线程用到的锁对象是完整的或逾期的。
2:stop让处理程序静悄悄的结束,没办法做一些后处理。
官方推荐采用interrupt,同时也带来了问题,在阻塞的情况,不太好处理。
这里先对各种阻塞做下罗列测试。
Thread.sleep(1 * 1000); OK java.lang.InterruptedException
this.wait(); OK java.lang.InterruptedException
System.in.re ...
socket 长连接 模拟
- 博客分类:
- java
package tcp;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class TcpServer {
// 先启动服务器端程序
public static void main(String[] args) throws IOExcepti ...
public static void main(String[] args) {
ThreadTest t = new ThreadTest();
t.test2();
}
// jvm什么时候推出
@Test
public void test2() {
// 除直接kill,其它JVM终止都会调用该钩子
Runtime.getRuntime().addShutdownHook(new Thread() {
@Override
public void run() {
System.out.println("关闭J ...
linux之sed用法
- 博客分类:
- linux
sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法sed命令行格式为: sed [-nefri] ‘command’ 输入文本
常用选项: -n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。 -e∶直接在指令列模式上进行 sed 的动作编辑; -f∶直接将 sed 的动作 ...
linux MD5命令
- 博客分类:
- linux
http://www.2cto.com/os/201310/251187.html
linux MD5命令
今天想生成一个字符串的MD5, shell中有一个md5sum命令,但是这个适合用来验证MD5,如果要生成字符串的MD5可以这样
echo -n ’123456′ | md5sum
这样不是很方便,so我写了个超简单的shell脚本
1
2
#!/bin/bash
echo -n $1 | md5sum | awk '{print $1}'
工作内存 主内存
工作内存对应每个线程,主内存大家共享的内存池
一个线程要操作共享内存的数据,步骤如下:
从共享内存中加载的工作内存
在工作内存中对该数据修改
从工作内存中同步该数据到共享内存(供其它线程使用)
volatile 也是有工作副本的,只是对内存间交互有了严格的要求,从而保证多现在直接的“可见性”
线程安全举例:
静态变量不安全(堆中共享)
对象属性不安全(堆中共享)
内部变量安全(栈中私有)
http://www.cnblogs.com/java-pan/archive/2012/07/08/corba.html
http://baike.baidu.com/view/153815.htm?fr=aladdin
http://blog.163.com/oceang_y/blog/static/267243902006104927230/
rpc的一种实现
IDL Interface Description Language
idlj.exe 命令来生成java接口代码
orbd.exe 启动服务端程序,这里不是采用java.exe
通用对 ...
java JVM 1
- 博客分类:
- java
http://hg.openjdk.java.net/ Java 源码 下载Mercurial,类似svn
栈内存,内存内存有序,
线程私有, 每个线程都会对应一份 线程安全
堆内存,内存结构可以无序
线程共享的, 线程不安全
句柄池、实例池
句柄池:栈中的对象引用,通过句柄池可以真正映射到内存地址。
这样垃圾收集时,对内存整理对象内存位置变化,只需要内部修改句柄池的映射关系,栈中的句柄引用不需要修改。
方法区
存放静态数据:如:Class ...
Java 自带的辅助工具
- 博客分类:
- java
jps 查看Java进程信息
例子:jps -l
jmap 导出heap文件(二进制),通过jhat生成html文件,编译阅读
jmap -dump:format=b,file=eclipse.head.dump 5620 PID
jhat 分析heap文件,与jmap配套使用
jhat eclipse.head.dump
jstack threaddump ,直接可以导出文本文件a
jstack -l PID
*准备工作:
mysql安装、apache安装、php安装
*首先拿到 ZenTaoPMS.3.1.stable.zip安装包。(版本要保持一致)
*部署到迁移机器
*apache配置 /home/zentao/zentaopms/www
*重启apache,访问zentao,此时会提示安装
*这时数据还是空的,从原来的数据中dump出导入新的mysql (编码保持一致)
*刷新页面OK
*最后附件(zentao/www/data/upload/)
注意:
*不好把安装过的zentaopms整体拷贝过来,直接使用,这样会有很多莫名奇妙的问题。
...