`
吖龙Sam
  • 浏览: 20263 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
2.3 HotSpot虚拟机对象的探秘 以常用的HotSpot虚拟机和常用的内存区域Java堆为例,探讨虚拟机在Java堆中的对象分配,布局和访问的全过程: 对象的创建,对象的内存布局,对象的访问定位。   1.对象的创建 1-文中讨论的对象,仅限于普通Java对象,不包括数组和Class对象 2-对象的创建过程: 1)虚拟机遇到一条new指令时 -判断常量池是否能定位到一个类的符号引用 -如果存在,则检查这个符号引用代表的类是否被加载,解析和初始化 -如果没有被加载,则执行类加载过程 2)类加载检查通过之后,接下来虚拟机就为新生对象分配内存。 -对象所需的内存大小在类 ...
2.2 运行时数据区域 根据Java虚拟机规范,Java虚拟机所管理的内存包含以下几个运行时数据区域: 程序计数器,虚拟机栈,本地方法栈,Java堆,方法区。 线程共享:Java堆,方法区 线程私有:程序计数器,虚拟机栈,本地方 ...
最新仔细看了一遍JDK1.6 HashMap的源码,收获颇深,写一篇博客来记录下自己的学习心得。HashMap也是Java中一个非常重要的集合,确实值得研究和学习。 本文主要分几个步骤来讲HashMap: 一、HashMap底层实现 二、HashMap源码分析         1.成员变量         2.构造方法         3.put()方法和get()方法 三、HashMap需要注意的关键点   一、HashMap底层实现 HashMap底层是通过数组和链表来实现的。 HashMap是Java中存储键值对的容器,当我们调用HashMap的put()方法往M ...
以前的apk反编译方式已经不行了,因为项目需求重新学习了下反编译,这里做一个记录。 一、反编译工具介绍 apktool          作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看      https://ibotpeaches.github ...
最近在做微信小程序,由于也是一边学习一边完成,把一些平时遇到的问题记录一下,方便以后查阅,也方便后面的人借鉴。 现在有一个需求:要在小程序里做一个分享朋友圈的功能。由于微信API暂时不支持分享朋友圈,于是想到另外一种方案,在微信小程序页面里先生成一个图片,这个图片里带二维码,然后再用这个图片发朋友圈,其他朋友就可以在朋友圈里识别这个二维码了。其中遇到的一些问题: 1.图片的生成 2.图片的下载 3.图片的保存   解决: 1.图片生成:这个比较简单,给服务端传入一些参数,服务端返回一个图片URL地址就可以了。   2.图片的下载:这个用到微信小程序的API:wx.downlo ...
传统定时器使用Timer和TimerTask组合使用 java.util.Timer:定时器,用于指定时间后任务执行一次,或者定期重复执行。 java.util.TimerTask:继承了Runnable类,本质上就是一个Runnable对象   Timer和TimerTask定时器主要有两种使用情景: 1)多长时间后,执行一次定时器任务 2)多长时间后,执行一次定时器任务,之后每间隔相同时间执行一次任务   一、定时器的使用 package com.sam; import java.util.Date; import java.util.Timer; import ...
我们知道传统创建线程的方式有两种: 一、继承Thread类,覆盖run()方法 // 继承Thread class MyThread extends Thread{ @Override public void run(){ // do something } } // 开启线程 MyThread t1 = new MyThread(); t1.start();   二、实现Runnable接口,覆盖run()方法,使用该Runnalbe对象构造Thread类 // 实现Runnable接口 Class MyRunnable implements Runn ...
严格上讲,Java中只存在值传递,但是有人认为Java中即存在值传递也存在引用传递。但是无论哪种说法,只是站的角度不同,原理都是一样的。下面一一解析:   1、值传递 1)含义: 值传递,就是在一个方法调用中,传递的 ...
刚刚读完俞敏洪2014“相信未来”武汉站的演讲实录文章,感触颇深,在这里写一下心得,算是提醒自己,也是鼓励自己。 1、不管过去是好是坏,从现在开始,把自己清零,从零开始。 2、把那些不该关注的东西全部给删掉。 3、可以没有远大的目标,但是必须得给自己定一个阶段性的目标。 4、一个人可以走得很快,但是一群人可以走得更远,所以要注重团队合作。 所以从现在开始,呼吁小伙伴们一起行动,每天坚持阅读,并且做到每天阅读20页。阅读的书籍将在评论下面做补充,同时欢迎更多的同学加入到阅读这个活动中来。 阅读发起者:Sam、凌生
工欲善其事,必先利其器。—《论语》 意思是说,工匠要想做好他的工作,必须要先让工具锋利。 这句话告诉我们,要做好一件事情,准备工作是非常重要的。准备功夫做好了,可以事半功倍。 今天我们进入IO流体系的学习,本章主要是对IO流体系作一个入门介绍。只有准备工作做充分了,往后的学习才会水到渠成。 1、流与数据流的概念 流是一个比较抽象的概念,当程序读取数据时,就会开启一个通往数据源的流,这个数据源可以是文件,内存,或是网络连接。同理,当程序需要写入数据时,就会开启一个通向目的地的流。这时候我们就可以想象数据好像是在其中流动,从一端流向另一端。 Java中把这些不同来源和目标的数据都统一抽象为数据 ...
业精于勤,荒于嬉;行成于思,毁于随。—《进学解》 意思是说,学业靠勤奋才能精湛,如果贪玩就会荒废;德行靠思考才能形成,如果随大流就会毁掉。 这句话告诉我们,学业还是需要刻苦专研。不要担心选拔人才的人眼睛 ...
纸上得来终觉浅,绝知此事要躬行。—陆游 意思是说,从书本上得来的知识终归是浅薄的,要透彻的认知事务还必须亲自实践。 这句话告诉我们,除了要掌握好理论知识,还必须得亲自动手做实践,来证明结论。理论引导实践,实践推翻理论。正是这个道理! 前面三章,我们对Socket编程进行了一个比较全面的阐述,相信大家对Socket编程有了一个比较全面的认识,今天我们来实现一个实例,加深对Socket编程的理解。 1、实例:实现一个质数判断程序。即 客户端在控制台输入一个数字,服务端告诉客户端该数字是否是质数。 1)服务端程序流程: (1)获取客户端输入的数据 (2)做判断处理 (3)返回处理结果 2)客 ...
读不在三更五鼓,功只怕一曝十寒。—郭沫若 意思是说,学习不在某一时的努力,而要锲而不舍的坚持才能成功! 这句话告诉我们,学习是一个循序渐进的积累过程,急于求成是不可取的,而想一劳永逸,想到的时候就用功一 ...
日日行,不怕千万里;常常做,不怕千万事。 意思是说,每天都走路的话,就不怕走千里万里,每天都做事的话,就不怕做了千事万事。学习也一样,每天学一点,就不怕学习了千万知识。 上一次我们对Socket编程有了一个初步 ...
不积跬步,无以至千里! 意思是说不一小步一小步的积累,无法到达一千里的地方。同理,学习,做事,做技术也是一样,要一步一个脚印,不断积累,不畏艰难,才能最终达到目的。 今天来总结一个Socket中的一些知识点,由于Socket中涉及的内容比较多,这里分几次来阐述。这次主要做一个入门: 1、Socket是什么? 网络上两个程序是通过一个双向链路来实现数据交换的,这个双向链路中其中的一端称为一个Socket,通信两端各有一个Socket。Socket通常是用来实现客户端和服务端的连接。一个Socket由一个IP地址和一个端口号唯一确定。 2、Socket的有关知识点: Java Socket编 ...
Global site tag (gtag.js) - Google Analytics