Java线程基础(四):ThreadGroup、Volatility

Linux 内存取证 之进程空间取证(Volatility取证) 进程分析目标: 识别出进程和他们的父进程或者子进程(恶意进程的启动进程和别的不一样)pstree 区分内核中的进程(恶意进程通常作为内核进程来运行) grep UID /etc/{passwd,group} 将进程和用户或者组联系起来 进程地址空间分析目标: 学会怎样从一个内存dump中提取出进程的堆,栈,可执行代码的区域 Cat /proc/<pid>/maps... 阅读详情

ThreadGroup



Thread Group Hierarchy


Volatility

http://www.javamex.com/tutorials/synchronization_volatile.shtml

http://www.javamex.com/tutorials/synchronization_volatile_when.shtml


ThreadLocal

ThreadLocal从JDK1.2开始就存在了,它提供了三个方法:

1) Object get()

2) Object initialValue():默认return null,需要继承ThreadLocal然后Override返回不同的值

3) void setValue(Object value)


class MyThread extends Thread {

    private final ThreadLocal<Integer> tl;

    public MyThread(ThreadLocal<Integer> tl) {
        this.tl = tl;
    }

    @Override
    public void run() {
        for (int i = 0; i < 10; i++) {
            tl.set(tl.get() + 1);
            System.out.println(Thread.currentThread().toString() + tl.get());
        }
    }
}


如果启动两个MyThread的实例,然后start,可以看到输出的结果是相互不影响的,因为每个Thread都有其自己单独的ThreadLocal的值。InheritableThreadLocal


Timer & TimerTask

从JDK1.3开始,有了Timer和TimerTask。Timer是用来执行TimerTask的。


创建Timer:

        Timer nonDaemonTimer = new Timer();
        Timer daemonTimer = new Timer(true);


创建TimerTask:

class MyTask extends TimerTask
{
    public void run ()
    {
        System.out.println ("MyTask task is running.");
    }
}


使用Timer调度TimerTask:

void schedule(TimerTask ....),可配置delay,interval,Date等


ThreadDeath对象


参考资料:

http://www.javaworld.com/article/2074481/java-concurrency/java-101--understanding-java-threads--part-4---thread-groups--volatility--and-threa.html

Java线程Thread、线程组ThreadGroup、线程池简单总结 一.线程的相关概念与理解 参考笔记:进程、线程的理解 二.线程的五种状态 1.新建:创建过程 2.就绪状态:创建好了,可以运行了 3.运行状态:代码处理逻辑正在运转中 4.死亡状态:逻辑执行完了,主动死亡;或者出现异常问题,被动死亡。 5.阻塞状态:其实就是暂停,因为一些原因需要暂停逻辑执行,可能的情况有: 1)主动暂停,sleep()睡眠指定的一段时间,睡完继续执行代码逻辑 2)被动... 阅读详情

相关推荐

AD9361 官方例程

文章目录一、官方资料1.1 介绍1.2 下载 和 使用1.3 相关资料二、步骤2.1 在Vivado中构建HDL2.2 在SDK中构建No- OS总结 一、官方资料 1.1 介绍 HDL参考设计介绍:AD9361 HDL Reference Designs 无操作系统介绍:AD9361 No-OS Software 1.2 下载 和 使用 HDL下载:Download HDL 在Vivado中构建HDL:Building HDL No-OS下载:Download No-OS 1.3 相关资料 AD

weixin_44630490的博客 3万+

java volatile 探究

一 同步问题 先看一个多线程的例子,地球人都知道,这样的代码一定会有问题 public class Test { static int x = 0; private static int thread_num = 1000; public static void add (){ x++; } public static void main(String[] args) {

zhao123h的专栏 616

S型速度曲线C程序实现

S型速度曲线C语言程序实现 前言 S型曲线相较于梯形速度曲线具有运行更加平稳的特点,S型曲线共有八种运行情况,感兴趣可以查阅相关文献 代码段 #include <stdio.h> #include <math.h> #define FP64 double int main(void) { /**************************** 定义相关变量(需要映射到PLC寄存器才能进行监控) ***********************/ FP6

LSX312441548的博客 8391

(java)正确使用volatile变量(managing volatility)

1.简介 Java 语言包含两种内在的同步机制:同步块(或方法)和Volatile变量。这两种机制的提出都是为了实现代码线程的安全性。其中Volatile变量的同步性较差(但有时它更简单并且开销更低),而且其使用也更容易出错。--《Java理论与实践》 Java语言中的Volatile变量可以被看作是一种“程度较轻的synchronized”;与synchronized块相比,volatile

shuaiby的专栏 1486

阿里云天池大数据长期赛:金融风控-贷款违约预测(含代码)

本次比赛让自己在大数据的处理流程上有了更明确的认知,从数据清洗、特征工程、数据建模,每一个过程都能学到很多经验和知识,值得去历练。

weixin_46685991的博客 1万+

WRF和WPS模型在Ubuntu系统上的安装与常见问题解决指南

本文详细介绍了在Ubuntu系统上安装WRF和WPS模型的完整教程,涵盖系统环境配置、依赖库安装、源代码编译以及常见问题的解决方案。重点解决了WPS编译中intmath.f文件的修改、环境变量设置和编译器兼容性等关键难点,帮助用户高效部署气象研究与预报模型。

weixin_29213525的博客 381

线程组threadgroup、线程池threadpool

基础概念(百科) 在Java中每一个线程都归属于某个线程组管理的一员,例如在主函数main()主工作流程中产生一个线程,则产生的线程属于main这个线程组管理的一员。简单地说,线程组(ThreadGroup)就是由线程组成的管理线程的类,这个类是java.lang.ThreadGroup类。 定义一个线程组,通过以下代码可以实现。 ThreadGroup group=new ThreadGr

zhangming优快云 5380

【计算摄影】相机成像原理:从光到JPEG图像

本文我们将从最基本的相机成像原理开始论述,再讨论光线进入相机后,经过一系列处理成为JPEG图像的大致流程。

qq_35149975的博客 2万+

内存取证-volatility工具的使用 (史上更全教程,更全命令)

内存取证-volatility工具的使用 (史上更全教程,更全命令) 安装步骤 命令解析 工具插件分析 例题讲解

路baby的博客 12万+

A Mathematical Framework for Transformer Circuits—(二)

transformer数学理论框架

qq_42208244的博客 757

银河麒麟硬盘健康检测:smartctl/badblocks实战与坏盘预判

xfs_repair检查。S.M.A.R.T检测。

信创运维工程师 · 银河麒麟 & 容器实战 | 金融生产环境迁移·等保加固 | 142篇原创·17万+阅读 859

java 实现移动 波动率 的设计与实现

1.首先,我们需要知道波动率是什么?在数学定义上波动率就是标准,标准差就是方差开根号,我们先看一下方差计算公式: 其中x为这组数据的平均数,下面我们需要对方差进行推导: 图 2. 图3.标准差 : 图4.归一化处理: 推导过程:我们先不管前面的1/n,对里面展开:x为平均数,第4步括号1里面为X1到Xn平方的和,我们对后面的式子乘以n再除以n,X1+X2+...+...

qq_38669394的博客 2139

【25届数字IC秋招总结】面试经验15——比特大陆-算能

25届数字ic面试记录——比特大陆-算能

lalala0635的博客 554

Volatility中Windows有关的插件功能说明

Windows Core镜像识别插件:imageinfo:显示目标镜像的摘要信息kdbgscan:kernel debugger block,KDBG是由Windows内核维护的用于调试目的的结构。它包含正在运行的进程和加载的内核模块的列表。它还包含一些版本信息,可让您确定内存转储是否来自Windows XP系统与Windows 7,安装了哪个Service Pack以及内存模型(32位与64位)...

dmbjzhh的专栏 6702

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

java ThreadGroup与线程池ThreadPoolExecutor非常有用

      我自己的理解也是一直以为ThreadGroup就是ThreadPoolExecutor(线程池),这是一个非常大的误会,最近把两者仔细分析了下。线程组表示一个线程的集合。此外,线程组也可以包含其他线程组。线程组构成一棵树,在树中,除了初始线程组外,每个线程组都有一个父线程组。允许线程访问有关自己的线程组的信息,但是不允许它访问有关其线程组的父线程组或其他任何线程组的信息;线程消耗包括内...

既是过河之卒,惟有奋力向前。 992

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Java线程池(ThreadPool)详解

https://www.cnblogs.com/kuoAT/p/6714762.html 点击打开链接

shero1604的博客 611

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

volatility 基本用法

volatility---基本用法 Keyword: forensic 取证 官网: https://www.volatilityfoundation.org/ github地址: https://github.com/volatilityfoundation/volatility wiki: https://github.com/volatilityfoundation/volatility/wiki

xuqi7 1万+

Java Volatile 详解

Java Volatile 详解 Volatile:是java虚拟机提供的轻量级的同步机制。保证可见性、禁止指令重排序。不保证原子性!!! 学习Volatile之前必须了解JAVA内存模型。 Java内存模型(Java Memory Model,JMM)本身是一种抽象的概念并不真实存在,它描述的是一组规则或规范,通过这组规范定义了程序中各个变量(包括实例字段,表态字段和构成数组对象的元素)的...

Lailai Monkey的博客 4093

jmeter应用---测试元件介绍(一)

概述构成测试计划的基本组件,测试至少包含一个测试计划、一个线程组、一个或多个取样器测试计划新建测试时,默认会有一个测试计划,是指定测试的总体设置的地方。public JMeterTreeModel() { this(new TestPlanGui().createTestElement(),new WorkBenchGui().createTestElement()); } public J

约会远行的专栏 6960

内存取证工具 volatility 使用说明

命令格式 volatility [plugin] -f [image] --profile=[profile] 在分析之前,需要先判断当前的镜像信息,分析出是哪个操作系统 volatility imageinfo -f file.raw 知道镜像后,就可以在 –profile 中带上对应的操作系统 常见的插件 查看当前展示的 notepad 文本 volatility notepad -f ...

u014794949 5486

Spring Transaction属性之Propagation

我们平常使用spring transaction时,我们大多都习惯于使用@Transactional,对于这个annotation可以有些什么配置,在什么情况下使用了解比较少。这篇博客主要关注于@Transactional中4个属性之一 -- propagation。 Propagation取值: REQUIRED(默认值):在有transaction状态下执行;如当前没有transa

kiwi_coder 7万+

java8中的map和reduce

java8中最受人期待的就是lambda,引入了map和reduce。map和reduce

kiwi_coder 4万+

丢弃重口味的xml配置--spring4用groovy配置bean

spring4之前,bean的配置可以主要分为两种方式,一种是使用基于xml,个人非常讨厌这种方式,因为明明一件很简单的事,放在xml中就会多了不少繁杂的信息。另一种方式是基于java的配置。在几天前release的spring4中,我们可以用groovy作为spring的配置文件啦!比起最早的基于xml配置,使用groovy会更加灵活,而且干扰信息会更少。

kiwi_coder 3万+

使用spring jdbc的batchUpdate功能提高性能

在spring batch中,我们经常使用spring提供的jdbcTemplate进行数据库操作。 假设有一张表People.我们需要插入多条数据。处理的方法有两种: 第一种方法是对每一个数据,都执行一直insert命令: jdbcTemplate.update(INSERT_PEOPLE_QUERY, people.getFirstName(), people.getLa

kiwi_coder 3万+

Spring Transaction属性之Isolation

上一篇博客《Spring Transaction属性之Propagation》讲解了Propagation相关的知识,这篇博客主要关注于Isolation这个属性。 一、Isolation基础 请先移步Wikipedia:isolation. Isolation Level VS Phenomena 上图来自wikipeida。 注意:Isolation Level仅仅会

kiwi_coder 2万+

java8中的Date、DateTime、Instant

Local LocalDate.of(2014, 1, 20); => 2014-1-20 也可以表示为:LocalDate.of(2014, Month.JANUARY, 20)

kiwi_coder 2万+
上一篇: Java线程基础(三):线程调度以及wait/notify
下一篇: 玩玩儿Elasticsearch
kiwi小白
博客等级 码龄14年 153粉丝 154原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值