上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 17 下一页
摘要: 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 思路:用 (n&1)==1 来判断二进制最右边是否是1,是1 的话说明最右边一位是1,继续将n右移一位,继续判断,不过这样会出现问题,如果n是负数,不断将n右移,第一位始终用1补齐,这样会陷入死循环。 换一种思路是,用(n&1)!=0 阅读全文
posted @ 2017-08-12 22:32 竹马今安在 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 1.什么是进程?什么是线程? 我们可以把计算机上每一个正在进行的任务看做一个进程,比如说听音乐、做PPT、玩游戏等等。进程是受操作系统管理的基本运行单元。 而什么是线程呢? 线程是进程中独立的子部分,可以共享进程中的资源,而又有自己的小秘密。就如同进程在计算中一样的地位,所以也叫“轻量级的进程” 2 阅读全文
posted @ 2017-08-12 20:47 竹马今安在 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 首先,什么是类的加载?类的加载由类加载器执行.该步骤将查找字节码(classpath指定目录),并从这些字节码中创建一个Class对象。Java虚拟机为每种类型管理一个独一无二的Class对象。也就是说,每个类(型)都有一个Class对象。一旦某个类的Class对象被载入到内存,他就被用来创建这个类 阅读全文
posted @ 2017-08-12 10:37 竹马今安在 阅读(5287) 评论(1) 推荐(1) 编辑
摘要: 前面的几篇都没有太明确地指出 方法区 是什么?现在通过一些资料的收集和学习,下面做一些总结 什么是方法区: 方法区是系统分配的一个内存逻辑区域,是JVM在装载类文件时,用于存储类型信息的(类的描述信息)。 方法区存放的信息包括: 类的基本信息: 1.每个类的全限定名 2.每个类的直接超类的全限定名( 阅读全文
posted @ 2017-08-12 10:32 竹马今安在 阅读(3271) 评论(1) 推荐(0) 编辑
摘要: 类加载过程: 1, JVM会先去方法区中找有没有相应类的.class存在。如果有,就直接使用;如果没有,则把相关类的.class加载到方法区 2, 在.class加载到方法区时,会分为两部分加载:先加载非静态内容,再加载静态内容 3, 加载非静态内容:把.class中的所有非静态内容加载到方法区下的 阅读全文
posted @ 2017-08-12 10:22 竹马今安在 阅读(824) 评论(0) 推荐(0) 编辑
摘要: JVM 内存分配模型概念 --在工作中可能用到的机会不多,有个概念的了解 --此文是转载某位读者,应该是在阅读了《深入理解Java虚拟机JVM高级特性与最佳实践》 一书后,总结所得。写的不错,转载哈 一、JVM内存区域划分 大多数 JVM 将内存区域划分为 Method Area(Non-Heap) 阅读全文
posted @ 2017-08-12 10:15 竹马今安在 阅读(674) 评论(0) 推荐(0) 编辑
摘要: 得到运行结果 为什么呢? 首先要明白thread和t1是两个完全不同的类,他俩之间唯一的联系就是thread作为一个target传递给了t1,hello thread = new hello();运行这句话的时候会调用hello的构造方法,Thread.currentThread().getName 阅读全文
posted @ 2017-08-07 18:12 竹马今安在 阅读(4040) 评论(1) 推荐(1) 编辑
摘要: 本文主要内容: Trace跟踪参数 堆的分配参数 栈的分配参数 零、在IDE的后台打印GC日志: 既然学习JVM,阅读GC日志是处理Java虚拟机内存问题的基础技能,它只是一些人为确定的规则,没有太多技术含量。 既然如此,那么在IDE的控制台打印GC日志是必不可少的了。现在就告诉你怎么打印。 (1) 阅读全文
posted @ 2017-08-06 09:54 竹马今安在 阅读(545) 评论(0) 推荐(0) 编辑
摘要: 面向过程的编程思想: 程序编写都是以算法为核心的,程序员会把数据和过程分别作为独立的部分来考虑,数据代表问题空间中的客体,程序代码则用于处理这些数据,这种思维方式直接站在计算机的角度去抽象问题和解决问题 面向对象的编程思想: 站在现实世界的角度去抽象和解决问题,把数据和行为都看做是对象的一部分,这样 阅读全文
posted @ 2017-08-05 16:51 竹马今安在 阅读(292) 评论(0) 推荐(0) 编辑
摘要: Java的并发采用的是共享内存模型(而非消息传递模型),线程之间共享程序的公共状态,线程之间通过写-读内存中的公共状态来隐式进行通信。多个线程之间是不能直接传递数据交互的,它们之间的交互只能通过共享变量来实现 同步是显式进行的。程序员必须显式指定某个方法或某段代码需要在线程之间互斥执行。 1、多线程 阅读全文
posted @ 2017-08-05 10:21 竹马今安在 阅读(287) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 17 下一页