搜索到与相关的文章
编程技术

JVM 学习(1)运行时数据区

今天开始学习JVM先看看运行时数据区的结构:程序计数器:当前线程所执行的字节码的行号指示器。(线程私有)java虚拟机栈:java方法执行的内存模型:每个方法被执行的时候都会同时创建一个栈帧(StackFrame)用语存储局部变量表、操作数栈、动态链表、方法出入口等信息。每个方法被调用直至执行完成的过程,就对应着一个栈帧在虚拟机中从入栈到出栈的过程。本地方法栈:为虚拟机使用到的Native方法服务,功能与java虚拟器栈相同,对于SunHotSpot虚拟机

系统 2019-08-29 22:11:21 2424

Java

Java多线程-volatile的原理与技巧

volatile,用更低的代价替代同步为什么使用volatile比同步代价更低?同步的代价,主要由其覆盖范围决定,如果可以降低同步的覆盖范围,则可以大幅提升程序性能.而volatile的覆盖范围仅仅变量级别的.因此它的同步代价很低.volatile原理是什么?volatile的语义,其实是告诉处理器,不要将我放入工作内存,请直接在主存操作我.(工作内存详见java内存模型)因此,当多核或多线程在访问该变量时,都将直接操作主存,这从本质上,做到了变量共享.v

系统 2019-08-29 22:02:41 2424

编程技术

第十七章 OAuth2集成——《跟我学Shiro》

目录贴:跟我学Shiro目录贴目前很多开放平台如新浪微博开放平台都在使用提供开放API接口供开发者使用,随之带来了第三方应用要到开放平台进行授权的问题,OAuth就是干这个的,OAuth2是OAuth协议的下一个版本,相比OAuth1,OAuth2整个授权流程更简单安全了,但不兼容OAuth1,具体可以到OAuth2官网http://oauth.net/2/查看,OAuth2协议规范可以参考http://tools.ietf.org/html/rfc674

系统 2019-08-29 22:00:42 2424

编程技术

JDK 的 JNI 的经典使用

Java本地接口(JavaNativeInterface(JNI))允许运行在Java虚拟机(JavaVirtualMachine(JVM))上的代码调用本地程序和类库,或者被它们调用,这些程序和类库可以是其它语言编写的,比如C、C或者汇编语言。当一个程序无法完全使用Java编写时,开发者可以通过JNI来编写本地方法,比如标准Java类库并不支持的依赖于平台的特色或者程序库。JNI还可以用于修改现有的使用其它语言编写的程序,使它们可以通过Java编写的程序

系统 2019-08-12 09:30:16 2424

Android

Android[中级教程]第三章 数据存储之SQLite

这一章我们来学习Android数据库SQLite,还是接上一章的,对于唐僧师徙去西天,三个徙弟得要杀妖怪啊,那得有个汇总啊,有个记数啊,这里我们就用SQLite来存储各徙弟杀死妖怪的数量,OK,上main.xml

系统 2019-08-12 09:30:15 2424

编程技术

JVM内存回收理论与实现

在本篇中,我们将继续探讨虚拟机自动内存管理系统的最重要一块职能:虚拟机如何对死亡的对象进行内存回收。本篇里面,所有涉及到具体JVM实现的内容,仍然默认为基于HotSpot虚拟机的实现,后文不再单独说明。对象存活的判定当一个对象不会再被使用的时候,我们会说这对象已经死亡。对象何时死亡,写程序的人应当是最清楚的。如果计算机也要弄清楚这件事情,就需要使用一些方法来进行对象存活判定,常见的方法有引用计数(ReferenceCounting)有可达性分析(Reach

系统 2019-08-12 09:29:47 2424

各行各业

Cygwin下sshd不能启动的原因——记录本

很多时候cygwin下面的sshd服务由于各种莫名奇妙的原因不能成功启动,这里是一个我曾遇到的问题记录本:1.netstartsshd---->NETHELPMSG3534以Windows的角度来说,就是“服务启动失败,且程序没有任何返回消息”可以敲入如下命令:/usr/sbin/sshd我的输入是:Startingsshd:/var/empty/mustbeownedbyrootandnotgrouporworld-writable原因可能是在安装其他程

系统 2019-08-12 09:26:58 2424

数据库相关

银泰网的一道sql性能题

在sql语句中替换NotIn的方法:前言:今天在写一条sql查询语句,其需要从一个表A中返回所有A不再表B中的结果集,当然,这种实现最方便的方法就是用NOTIN。如:selecta.*fromawherea.idnotin(selectidfrombwhere…..)我们大家都知道很多sql方面的文章都建议大家尽量不要使用NOTIN的方法,因为这种方法的效率不高。那有没有替代的办法呢?(声明因为当时的情况要求不能使用储存过程,所以只有写sql语句)和同事实

系统 2019-08-12 01:54:34 2424

数据库相关

数据库系统原理及其应用总结---ShinePans

第一章数据库概论1.在数据库管理技术的发展过程中,数据库独立性最高的是“数据库系统”阶段2.三大经典的数据结构模型是“关系,层次和网状模型”3.单个用户使用的数据视图的描写叙述,称为“外模式”,它是用户与DBS的接口4.DB中,数据的逻辑独立性是指“概念模式改变,外模式与应用程序不变”5.通过指针链表来表示实体间联系的模型是“网状和层次模型”6.DB的体系结构分成三层,各自是“逻辑模式,内模式,外模式”7.DBMS的主要功能有“数据库定义功能,数据库的操纵

系统 2019-08-12 01:54:28 2424

Java

Java 感知Mysql存储过程变量数量

在项目中,可能会遇到sybase移植到mysql的情况,因为sybase支持存储过程的可变参数,而mysql不能支持,所以,在调用mysql的时候,需要感知存储过程到底有几个参数,来合理的配置参数数量:如下是代码packagecom.xxx.util;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.Statement

系统 2019-08-12 01:54:23 2424