`
jiagou
  • 浏览: 2533289 次
文章分类
社区版块
存档分类
最新评论
文章列表
jstat 1. jstat -gc pid 可以显示gc的信息,查看gc的次数,及时间。 其中最后五项,分别是young gc的次数,young gc的时间,full gc的次数,full gc的时间,gc的总时间。 2.jstat -gccapacity pid 可以显示,VM内存中三代(young,old,perm)对象的使用和占用大小, 如:PGCMN显示的是最小perm的内存使用量,PGCMX显示的是perm的内存最大使用量,
上一节我们搭建了了lift的开发环境sbt,今天我们用sbt来完成lift环境构建。 定义lift 上一节,我们新建了一个scala工程,但还不是web工程,更不是lift工程。这里我们先在sbt里定义一下lift, *lift is org.lifty lifty 1.6.1 定义完之后sbt会自动下载lift依赖的包。更新完之后我们来新建一个lift工程 lift create project-blank 接下来需要输入mainpack和liftersion,mianpack当然是包的名字,这里输入com.douban。liftversion是lift的版本,这里 ...
Java性能调优笔记 调优步骤:衡量系统现状、设定调优目标、寻找性能瓶颈、性能调优、衡量是否到达目标(如果未到达目标,需重新寻找性能瓶颈)、性能调优结束。 寻找性能瓶颈 性能瓶颈的表象:资源消耗过多、外部处理 ...
不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM、GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,由于各个程序具备不同的特点,如:web和GUI程序就有很大区别(Web可以适当的停顿,但GUI停顿是客户无法接受的),而且由于跑在各个机器上的配置不同(主要cup个数,内存不同),所以使用的GC种类也会不同(如何选择见GC种类及如何选择)。本文将注重介绍JVM、GC的一些重要参数的设置来提高系统的性能。 JVM内存组成及GC相关内容请 ...
在进行英语学习的过程中,有一个问题是大家都经常遇到的,尤其是在看一些原生的英语素材的时候表现的更为突出:听不清. 通过近期的学习发现,听不清楚主要分以下种情况: 1 脑子里没有相应的语音库
1.分派的概念 变量被声明时的类型叫做变量的静态类型(Static Type) 又叫明显类型(Apparent Type)。变量所引用的对象的真实类型又叫做变量的实际类型(Actual Type)。 根据对象的类型而对方法进行的选择,就是分派(Dispatch)。根据分派发生的时期,可以将分派分为两种,即分派分静态分派和动态分派。 静态分派(Static Dispatch) 发生在编译时期,分派根据静态类型信息发生。方法重载(Overload)就是静态分派。(所谓的:编译时多态) 动态分派(Dynamic Dispatch) 发生在运行时期,动态分派动态地置换掉某个方法。面向对象的语言利 ...
前言 本文是我整理的Java反射的一些知识,其中大部分内容是翻译http://tutorials.jenkov.com/java-reflection/index.html的。 1. Java反射简介 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制。 Java反射机制是Java语言被视为“准动态”语言的关键性质。Java反射机制的核心就是允许在运行时通过JavaReflectionAPIs来取得已知名字的class类的内部信息 ...
rt-thread操作系统的IPC(Inter-Process Communication,进程间通信)包含有信号量,互斥锁,事件,邮箱,消息队列. 本文主要针对信号量.信号量是用来解决线程同步和互斥的通用工具,和互斥量类似,信号量也可用作资源互斥访问,但信号量没有所有者的概念,在应用上比互斥量更广泛。信号量比较简单,不能解决优先级翻转问题,但信号量是一种轻量级的对象,比互斥量小巧、灵活。因此在很多对互斥要求不严格的系统中(或者不会造成优先级翻转的情况下),经常使用信号量来管理互斥资源。 1 信号量控制块 /** * Semaphore structure */ struct rt ...
2013-02-19 重庆-知贤-男11:27:40 请问大家一下,我用EA生成代码的时候,只生成了头文件,这是怎么回事呢? 上海 Lemon 男11:28:08 好 广州老Ben 11:28:29 有h文件还不够啊... 重庆-知贤-男11:29:05 呵呵,不知道怎么生成cpp 广州老Ben 11:29:21 自己写一写不费劲 佛山-IT主管15:03:01 新年好。 北京青润16:51:24 那是因为你没有做类内部的设计,所以,就只能生成头文件。 完整的生成,应该是头文件和方法属性都会自动生成,但是方法的内部是空的。 广州 Fireball 男17:03:19
本文有给csdn做广告的嫌疑,但是,确实是对过去的一段回忆,想到蒋老大融资成功,就感到高兴,由衷的高兴。 以下的时间可能有月份的出入,毕竟是回忆,有可能有些偏差,当事人和各位朋友看到了可以指正一下,哈哈。 青润 16:17:28 直接发给蒋老大也可以: jiang****.net 孙优 16:22:50 嗯嗯 好的好好整理简历,发过去。 青润 16:28:19 公司网址是www.csdn.net,公司名称叫什么媒体公司,我们做技术的都记不住。 于是就只叫它csdn了。 孙优 16:29:52 嗯嗯 O(∩_∩)O好的 青润 16:36:35 好好把握机会。 老蒋是个相当不错的老板。 主要他 ...
rt-thread的IO设备管理模块为应用提供了一个对设备进行访问的通用接口,,并通过定义的数据结构对设备驱动程序和设备信息进行管理。从系统整体位置来说I/O管理模块相当于设备驱动程序和上层应用之间的一个中间层。 I/O管理模块实现了对设备驱动程序的封装:设备驱动程序的实现与I/O管理模块独立,提高了模块的可移植性。应用程序通过I/O管理模块提供的标准接口访问底层设备,设备驱动程序的升级不会对上层应用产生影响。这种方式使得与设备的硬件操作相关的代码与应用相隔离,双方只需各自关注自己的功能,这降低了代码的复杂性,提高了系统的可靠性。 1 IO设备管理控制块 typedef struct ...
rt-thread的空闲线程在是线程空闲时执行的,它的主要操作是进行“垃圾回收”,这里的“垃圾”是待close掉的线程。 1 空闲线程的实现 在rt-thread线程启运时,系统会初始化空闲线程并启动它: /** * @ingroup SymstemInit * * This function will initialize idle thread, then start it. * * @note this function must be invoked when system init. */ void rt_thread_idle_init(void) { ...
1 系统时钟中断驱动引擎 rt-thread操作系统中当线程时间片耗尽,或是当线程sleep一段时间后唤醒再被调度,此过程又是如何进行的呢?到底是谁来驱动这一过程的呢? 答案是时钟中断源。且来看看时钟中断例程: 在bsp/stm32f20x/drivers/board.c源文件中存在这么一个时钟中断例程代码:(这里以stm32f20x的MCU为例) /** * This is the timer interrupt service routine. * */ void SysTick_Handler(void) { /* enter interrupt */ rt_int ...
上一章大概分析了rt-thread操作系统的线程调试器的源码,此文具体来讲讲rt-thread在调试时,是如何获取获得当前最高优先级线程的算法过程。 之前已提到过,rt-thread采用了一个位图来实现此过程,在具体分析此过程之前,我们 ...
1 前言 RT-Thread中提供的线程调度器是基于全抢占式优先级的调度,在系统中除了中断处理函数、调度器上锁部分的代码和禁止中断的代码是不可抢占的之外,系统的其他部分都是可以抢占的,包括线程调度器自身.系统总共支持256个优先级(0 ~ 255,数值越小的优先级越高,0为最高优先级,255分配给空闲线程使用,一般用户不使用。在一些资源比较紧张的系统中,可以根据情况选择只支持8个或32个优先级的系统配置)。在系统中,当有比当前线程优先级还要高的线程就绪时,当前线程将立刻被换出,高优先级线程抢占处理机进行执行。 2 线程优先级管理系统 rt-thread采用一个数组来实现线程优先级管理系统 ...
Global site tag (gtag.js) - Google Analytics