JVM
gqltt
这个作者很懒,什么都没留下…
展开
-
JMM同步原语之final域的内存语义
final 域为引用类型public class FinalReference { /** * final 域. */ final int[] arr; static FinalReference ref; public FinalReference() { arr = new int[1]; arr[0] = 1; } public static void writeOne() { ref = new FinalReference(); } pu原创 2021-07-07 10:37:53 · 147 阅读 · 0 评论 -
JMM设计原理之双重检查Lock
错误示例public class DoubleCheckedLocking { /** * 单例. */ private static Instance instance; /** * 获取单例. * @return 对象. */ public static Instance getInstance() { if (instance == null) { synchronized (DoubleCheckedLocking.class) { if (原创 2021-07-07 10:00:13 · 143 阅读 · 0 评论 -
java调用shell脚本并传递参数
最近业务上需要java调用执行shell脚本进行一些业务处理,写了个demo,记录下。主要代码 @RequestMapping("/copy/database") @ResponseBody public String copyDatabase(HttpServletRequest request,String dbCode,String targetPath){ JSONObject result = new JSONObject(); ...转载 2021-06-30 19:39:18 · 2793 阅读 · 1 评论 -
java调用shell脚本及注意事项
需求:get方法下载远程zip包,然后zip包解压,取出第一级目录再次进行压缩获取新的压缩zip包。问题:如果选择使用java代码的IO流操作,在不确定zip包大小的情况下可能会占用很大的内存,所以选择异步调用shell脚本来实现这个操作;介绍:1、通过ProcessBuilder进行调度//解决脚本没有执行权限ProcessBuilder builder = new ProcessBuilder("/bin/chmod", "755", scriptPath);Process转载 2021-06-30 14:07:01 · 2670 阅读 · 0 评论 -
Process 执行shell 脚本
概述:Process类是一个抽象类(所有的方法均是抽象的),封装了一个进程(即一个执行程序)。Process 类提供了执行从进程输入、执行输出到进程、等待进程完成、检查进程的退出状态以及销毁(杀掉)进程的方法。ProcessBuilder.start() 和 Runtime.exec 方法创建一个本机进程,并返回 Process 子类的一个实例,该实例可用来控制进程并获取相关信息。创建的子进程没有自己的终端或控制台。它的所有标准 io(即 stdin,stdout,stderr)操作都将通过三...转载 2021-06-30 12:01:55 · 1634 阅读 · 0 评论 -
ProcessBuilder执行bash脚本
我正在尝试从Java执行bash脚本,它返回错误/ bin / bash:’/ home / nika / NetBeansProjects / Parallel Framework / process-executor.sh’:没有这样的文件或目录,我正在使用ubuntu使用netbeans8& 14.04 jdk8.这是我的代码:public class Process {public static void main(String[] args) { try {转载 2021-06-30 10:09:38 · 948 阅读 · 0 评论 -
Java获取并Kill系统进程
原理:获取系统所有进程列表,遍历,然后进行模糊匹配,将匹配到的进程杀死!作用:保证在系统中只有一个程序进程实例。/*** 确保系统中只有一个程序实例* 1.如果客户端启动前,操作系统中有残留进程,则杀死进程,然后启动* 2.如果客户端启动前,操作系统中没有残留进程,则直接启动* 时间:2018-04-13* @author Jason**/public class SingleProcess { public static Logger logger = L...原创 2021-06-29 20:32:37 · 1475 阅读 · 0 评论 -
类的初始化
加载 ----> 连接(验证,准备,解析*) ---->初始化Java 虚拟机在首次主动使用类型时初始化它们。主动使用(6种)1、创建类的实例2、调用类中声明的静态方法3、操作类或者接口中声明的非常量静态字段4、调用Java API 中特定的反射方法5原创 2011-09-08 11:50:18 · 565 阅读 · 0 评论 -
自定义ClassLoader
来源:http://a123159521.iteye.com/blog/1095264转载 2014-07-26 20:31:20 · 1259 阅读 · 0 评论