日积月累---JVM01】的更多相关文章

Java体系结构包括四个独立但相关的技术: Java程序设计语言 Java class文件格式 Java应用编程接口 Java虚拟机 用Java编程语言编写源代码,把它编译成Java class文件,然后再在Java虚拟机运行class文件.当编写程序时,通过调用类(这些类实现了Java API)中的方法来访问系统资源(比如I/O).当程序运行时,它通过调用class文件中实现了Java API的方法来满足程序的Java API调用.这里就可以看到四者的联系. Java 虚拟机包含类装载器(cl…
马云说,要想创业成功,不是要知道现在什么东西最火,而是要清楚的知道十年以后什么东西最火.这就意味着,你对时间掌控力,至少要有十年. 但是仔细回想一下自己的学生时代,自己对时间的把握是怎样的?有些人只能给自己安排一天的学习计划,有些人只能给自己安排一个星期的计划,有些人只能给自己安排一个月的计划,超出了这个时间限制,他就把握不了自己的计划了.这都是对时间的预见性的问题.对于那种学生时代就能掌控几年的时间计划的人,我想很多应该都上名校了吧. 成功的企业家,他对时间的走势至少掌握在十年以上.那些伟大的…
1.enum:http://en.cppreference.com/w/cpp/language/enum 2.weak_pr:http://en.cppreference.com/w/cpp/memory/weak_ptr shared_pr给释放了,weak_pr给缓冲一下作用 3.thread_specific_ptr:http://www.boost.org/doc/libs/1_34_0/doc/html/boost/thread_specific_ptr.html 4 线程threa…
前面文章<Proguard进行源代码混淆>讲解过怎么使用Proguard工具对Android的源代码进行混淆的方法(感兴趣的朋友可以访问:http://blog.csdn.net/p106786860/article/details/11974863),但是在实际工作中发现,通过上述方法对导出的Jar并没有进行混淆. 下面我们就介绍,如果对导出的Jar包进行代码混淆. 一.准备工作 首先我们要准备好:1.你已经导出的jar包(srcjar.jar)文件,2.ProguardGui工具 (sdk…
在工作过程中,常常会遇见需要根据自己的需求,控制文本框的键盘显示和隐藏. 通过查阅Android文档,介绍可以通过在清单文件中<activity>元素中添加android:windowSoftInputMode属性来处理. 这个属性主要影响两件事情: 1.软键盘的状态—当Activity显示给用户的时候,它是显示还是隐藏. 2.主活动窗口的调整—它是否调整主窗体大小来给软键盘腾出空间,或者在部分窗口被软键盘覆盖的时候,它的内容能否上拉让当前的焦点可见. 该属性设置必须由如下表格中的一个,或者一…
在开发的过程当中,由于手机屏幕的大小的限制,我们经常需要使用滑动的方式,来显示更多的内容.在最近的工作中,遇见一个需求,需要将ListView嵌套到ScrollView中显示.于是乎有了如下布局: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layou…
解说一:weightSum和layout_weight属性合用 android:weightSum属性:定义weight总和的最大值. 假设为指定该值,全部子视图的layout_weight属性的累加值作为总和的最大值.比如.通过指定子视图的layout_weight属性为0.5.并设置LinearLayout的weight属性为1.0,实现子视图占领可用宽度的50%: layout_weight属性:子视图的控件比例.就像我们在盒子放置其它物体,盒子可用空间的比例就是weightSum,盒子每…
一直苦于没有好的国籍控件可以用,于是抽空写了一个国籍控件,现分享给大家. 主要功能和界面介绍 国籍控件主要支持中文.英文过滤以及键盘上下事件. 源码介绍 国籍控件核心是两个文件,navtionality.js 和 mian.css.navtionality.js主要功能是国籍控件的DOM构建以及相应的事件绑定:main.css主要是用于渲染国籍控件的样式.而main.js是国籍控件的调用方法. HTML结构 国籍控件要呈现在页面上,必须事先在页面中加以设置以供控件加载使用.control-nat…
最近开发了一款分页控件,分享给大家. 主要功能和界面介绍 cform分页控件支持服务端分页.客户端分页.数据过滤.数据排序等功能. 源码介绍 cform-pager分页控件主要由三部分组成:css.scripts以及index.html,css主要是用于控制分页和列表的样式:scripts主要是负责分页数据抓取.分页控件.本地缓存.数据过滤.数据排序等功能:index.html则涉及了分页数据模板.分页容器以及相应的过滤.排序按钮. scripts介绍 scripts目录下面包含了cform-m…
省市选择器是大家经常用到的, 但网上找的省市选择器都不是很实用,于是自己写了移动端的省市选择器. 界面: 源码结构: 演示地址:http://component.cform.cn/city/ 演示二维码: 源码地址:http://component.cform.cn/city/city.zip 下篇将详细介绍省市选择器的原理与实现. 欢迎访问:cform官方网站:http://www.cform.cn 演示地址:http://demo.cform.cn (用户名:001 密码123)…
本文从 纯洁的微笑的博客 转载 原地址:http://www.ityouknow.com/jvm.html 类的加载机制 1.什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构.类的加载的最终产品是位于堆区中的Class对象,Class对象封装了类在方法区内的数据结构,并且向Java程序员提供了访问方法区内的数据结构的接口. 类加载器并不需要等到某个类…
---恢复内容开始--- jdk  jre  jvm 的关系 java7的结构图 java8 jvm内存溢出 jdk /bin 目录下的jconsole java发展历史 oak:用在嵌入式设备上 相当于Android系统 1995 oak-->java  write once run anywhere (JVM 虚拟机解析字节码 sun classic VM 纯解释虚拟机 jdk1.3 Timer java2d jdk1.4 struts hibernate  spring 正则表达式 nio…
看了博主“一杯凉茶”一篇对java内存详解的文章后,虚心学习,并记录下来 ,以便日后再来温故. 一,运行时数据区 1.程序计数器 当前线程所执行的字节码行号指示器,字节码解释器工作依赖计数器控制完成,通过执行线程行号记录,让线程轮流切换,使各条线程之间互不影响. 线程私有,生命周期与线程相同,随JVM启动而生,JVM关闭而死.线程执行Java方法时,记录其正在执行的虚拟机字节码指令地址, 1.方法区 在Java虚拟机中,关于被装载类型的信息存储在一个逻辑上被称为方法区的内存中.当虚拟机装载某个类…
对象监视器 什么是监视器? 监视器可以看做是经过特殊布置的建筑,这个建筑有一个特殊的房间,该房间通常包含一些数据和代码,但是一次只能一个消费者(thread)使用此房间, 当一个消费者(线程)使用了这个房间,首先他必须到一个大厅(Entry Set)等待,调度程序将基于某些标准(e.g. FIFO)将从大厅中选择一个消费者(线程),进入特殊房间,如果这个线程因为某些原因被“挂起”,它将被调度程序安排到“等待房间”,并且一段时间之后会被重新分配到特殊房间,按照上面的线路,这个建筑物包含三个房间,分…
线程中断方法interrupt()方法的理解: interrupt()方法的源码: interrupted()方法的源码及注解: isInterrupted()方法源码及注解: 在了解这个方法之前我们需要了解何为中断(interrupt): 1.中断只是一种协作机制,Java没有给中断增加任何语法,中断的过程完全需要程序员自己实现: 2.每个线程对象中都有一个标识,用于表示线程是否被中断:该标识位为true表示中断,为false表示未中断: 3.通过调用线程对象的interrupt方法将该线程的…
关于Android的sqlite数据类型text长度限制的问题? 这也许不能称为一个bug,但是比较坑,所以贴在了这里.在Android的sqlite中存储一个字符串,发现总是数据丢失,我去查询sqlite官方的数据类型text长度很大,能满足我的要求,但是为什么Android中的sqlite就满足不了了呢!导出查看db文件,发现字符长度只有8192个字符,显然数据是丢失了.暂且记录在这里.还有一点需要说明的是rom为flyme5.0. [2017年2月6日15:14:47] Android 中…
Nios II 13.1中,使用Qsys生成的cpu中断号默认为-1,因此中断无法注册.解决方法:手动修改中断模块的tcl文件如下: add_interface interrupt_sender interrupt end set_interface_property interrupt_sender associatedAddressablePoint "avalon_slave " set_interface_property interrupt_sender associated…
hotspot:是jvm的核心组件(或者名称),jvm 需要对class文件进行编译成cpu能直接运行的代码.hotspot会对频繁使用的class代码进行缓存,不会再次编译,类似于缓存 client  桌面级的时使用,分配的内存相对于server少 server 适合B/S结构,用于高并发 修改使用client 或者server  ,修改C:\Program Files\Java\jdk1.8.0_201\jre\lib\amd64\jvm.cfg文件 在64位中目前支持server模式,没有…
从本文开始将为各位带来JVM方面的知识点,关注我的公众号「Java面典」了解更多Java相关知识点. JVM内存主要分为三部分线程私有(Thread Local).线程共享(Thread Shared).直接内存(Direct Memory). 线程私有 线程私有区域从字面意思可以看出,这部分内存,是归属于每个线程独立拥有的部分.其生命周期与线程生命周期一致.线程私有区域可以分为两部分程序计速器.虚拟机栈和本地方法栈. 程序计数器 程序计速器是用来记录线程下一条字节码指令地址,方便线程切换后,下…
一.效果图 二.代码预览 1 <Window x:Class="Test.MainWindow" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 4 xmlns:d="http://schemas.microsoft.com/exp…
一.概述 本文演示了如何递归生成数据,用于绑定TreeView以及TreeItem的双击事件. 二.参考代码 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Linq; 5 using System.Windows; 6 using System.Windows.Controls; 7 using System.Windows.Input; 8 9…
一.概述 关于DataGrid指定Row的颜色,我们可以使用转换器和DataGridRow的Style来实现.对于文件的检测,我们可以使用FileSystemWatcher来实现. 二.Demo Converter代码如下: 1 using System; 2 using System.Windows.Data; 3 using System.Windows.Media; 4 5 namespace FileWatcher 6 { 7 public class BGConverter : IVa…
日志在软件系统中的重要性我在此也不赘述了,几乎所有程序员每天都会更日志打交道. 那么你是否曾今为这样的一些事情而困扰过: - 远程登录到不同的服务器,找到应用程序目然后查看应用日志: - 来回切换于不同服务器并使用tail来实时监控日志输出信息; - 解决在各个服务器上各个应用日积月累生成的大量日志文件造成的磁盘空间不足的问题: 如果在你的系统中存在着很多个不同的进程并且运行在多个服务器上,上面的问题将会显得尤为突出.很不幸是,笔者所在的公司的系统中,有数十个windows服务,控制台程序,计划…
自从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的学习曲线,让我对这个平台产生了浓厚的兴趣,在工作和学习中也积累 了一些开源的组件,就目前想到的先整理于此,如果再想到,就继续补充这篇日志,日积月累,就能形成一个自己的组件经验库. 分布式缓存框架: Microsoft Velocity:微软自家分布式缓存服务框架. Memcahed:一套分布式的高速缓存系统,目前被许多网站使用以提升网站的访问速度. Redis:是一个高性能的KV数据库. 它的出现很大程度补偿了Me…
我们在实际应用开发中,经常遇到多人共同开发维护同一个项目情况,所以不免会出现其中一个人代码出现bug质量问题导致整个项目就原地“爆炸”的惨状.在之前公司经常遇到某个人忘记更新(我就做个此事["害羞脸"])直接签入或者出现他自己的类库引用而其他人没有引用此类库导致的项目无法编译,总之由于大家编译同一个工程,耦合度太高.最近在公司也发现同样问题,今天就讲讲如和拆分项目达到降低模块间的耦合度 首先做过MVC的同学就知道在MVC中有域的概念(就是在一个大的MVC下就拆分处多个子MVC,理论上可…
做一个 App 前需要考虑的几件事  来源:limboy的博客   随着工具链的完善,语言的升级以及各种优质教程的涌现,做一个 App 的成本也越来越低了.尽管如此,有些事情最好前期就做起来,避免当 App 有了一定规模后,再感慨当初为什么没有多留点心. 完善的日志系统 以 iOS 为例,有时图方便,就直接用 NSLog 了,甚至线上都一直开着.一方面会影响性能,尤其是输出比较频繁的时候,另一方面也容易泄露敏感信息,所以一般做法是在 Release 模式下禁用 NSLog,比如在 pch 文件中…
原文链接:http://wwww.huxiu.com/article/114950/1.html 前言: 当今硅谷风头最劲的风险投资家马克·安德森曾说,硅谷每年大约诞生15-20家真正值得投资的公司.不管他的说法是否精确,有一点可以肯定:中国科技业每年诞生的优秀公司只会更少.我曾略做统计,过去三年间中国网络业崛起的非游戏项目不过15个: 2010年:新浪微博.唯品会.美团.聚美.91手机助手2011年:微信.聚划算.天猫.小米.美丽说.蘑菇街.海豚浏览器.豌豆荚2012年:唱吧.陌陌 作者注:时…
crond crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务. Linux下的任务调度分为两类,系统任务调度和用户任务调度. 系统任务调度 系统周期性所要执行的工作,比如写缓存数据到硬盘.日志清理等.在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件…
本系列博客主要是以对战游戏为背景介绍3D对战网络游戏常用的开发技术以及C++高级编程技巧,有了这些知识,就可以开发出中小型游戏项目或3D工业仿真项目. 笔者将分为以下三个部分向大家介绍(每日更新): 1.实现基本通信框架,包括对游戏的需求分析.设计及开发环境和通信框架的搭建: 2.实现网络底层操作,包括创建线程池.序列化网络包等: 3.实战演练,实现类似于CS反恐精英的3D对战网络游戏: 技术要点:C++面向对象思想.网络编程.Qt界面开发.Qt控件知识.Boost智能指针.STL算法.STL.…
# 第二次预备作业 你有什么技能比大多人(超过90%以上)更好? 针对这个技能的获取你有什么成功的经验? 与老师博客中的学习经验有什么共通之处? 我谦虚的说整个2015级五系英雄联盟这个游戏我最厉害(其实我守望先锋.逆战.穿越火线.QQ堂也算得上前90%).当然,导致这个结果的原因也就是背后的不懈努力.英雄联盟这个游戏已经6年多了,我已经玩了5年多了.对每一个英雄的理解,对每一个技能的理解都是极其细微的.只有段位高了,才会知道每一次对线,补刀,团战,技能释放的不容易.我非常能理解那些职业选手们的…