自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

转载 git笔记五:常用指令

Git使用笔记1. 常用命令下载一个项目和它的整个代码历史 git clone [**.git]比较当前文件和暂存区文件差异 git diff将工作文件修改提交到本地暂存区 git add -A git add 显示有变更的文件 git status

2018-01-29 10:56:28 125

原创 java并发编程的艺术笔记

第1章 并发编程的挑战1.1 上下文切换即便是单核CPU也支持多线程并发,CPU通过给每个线程分配时间片(几十毫秒)来实现并发的机制。通过不停切换线程,使得多个任务并发处理。任务从保存到再加载的过程就是一次上下文切换。由于上下文切换以及线程创建的开销,可能会导致并发执行的速度比串行执行要慢。通过无锁并发编程,CAS算法,使用最少线程和使用协程可以减少上下文切换。1.2 避免死锁什么叫做死锁:死锁(...

2018-01-25 19:53:05 294 2

转载 深入理解java虚拟机阅读笔记九:Java8内存模型—永久代(PermGen)和元空间(Metaspace)

Java8内存模型—永久代(PermGen)和元空间(Metaspace)一、JVM 内存模型  根据 JVM 规范,JVM 内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。  1、虚拟机栈:每个线程有一个私有的栈,随着线程的创建而创建。栈里面存着的是一种叫“栈帧”的东西,每个方法会创建一个栈帧,栈帧中存放了局部变

2018-01-24 10:24:53 653

原创 深入理解java虚拟机阅读笔记九:记录GC的一些常见概念

说说GC的一些常见概念1. 什么时候会触发Minor GC?    Eden区域满了,或者新创建的对象大小 > Eden所剩空间    CMS设置了CMSScavengeBeforeRemark参数,这样在CMS的Remark之前会先做一次Minor GC来清理新生代,加速之后的Remark的速度。这样整体的stop-the world时间反

2018-01-22 17:49:01 192

原创 深入理解java虚拟机阅读笔记八:常见的OOM和SOF

遇到的OOM:    (1)Java Heap 溢出    Java堆用于存储对象实例,我们只要不断的创建对象,而又没有及时回收这些对象(即内存泄漏),就会在对象数量达到最大堆容量限制后产生内存溢出异常。    (2)方法区溢出   方法区用于存放Class的相关信息,如类名、访问修饰符、常量池、字段描述、方法描述等。异常信息:Java.lang.OutOfMe

2018-01-22 17:28:48 435

转载 几种常用的认证机制

基于Token的WEB后台认证机制几种常用的认证机制HTTP Basic AuthHTTP Basic Auth简单点说明就是每次请求API时都提供用户的username和password,简言之,Basic Auth是配合RESTful API 使用的最简单的认证方式,只需提供用户名密码即可,但由于有把用户名密码暴露给第三方客户端的风险,在生产环境下被

2018-01-22 16:19:53 230

原创 cookie和session

原作者:施杨(施杨's Think out)出处:http://shiyangxt.cnblogs.com本文版权归原作者和博客园共有,欢迎转载,但未经原作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则原作者会保留追究法律责任的权利。cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。同时我们也看到,由于采用

2018-01-22 16:06:40 259

转载 字符编码

http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html

2018-01-22 15:11:41 132

转载 git笔记四:git操作流程概述

the simple guide创建新仓库创建新文件夹,打开,然后执行 git init以创建新的 git 仓库。检出仓库执行如下命令以创建一个本地仓库的克隆版本:git clone /path/to/repository 如果是远端服务器上的仓库,你的命令会

2018-01-11 13:16:01 163 3

原创 git笔记三:工作区和暂存区

工作区和暂存区Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念。先来看名词解释。工作区(Working Directory)就是你在电脑里能看到的目录,比如我的learngit文件夹就是一个工作区:版本库(Repository)工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库

2018-01-11 11:56:43 131

原创 git笔记二:版本库

第一步:初始化一个版本库 可以发现当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。$ git init第二步,用命令git add告诉Git,把文件添加到仓库 readme是新建的一个文件,注意此文件一定要在仓库的目录下或者仓库的子目录下。$ git add readme.txt执行上面的命令,

2018-01-11 11:45:16 156

原创 git笔记一:git安装

安装Git安装Git最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑。不过,慢慢地有人把它移植到了Windows上。现在,Git可以在Linux、Unix、Mac和Windows这几大平台上正常运行了。要使用Git,第一步当然是安装Git了。根据你当前使用的平台来阅读下面的文字:在Linux上安

2018-01-11 11:37:50 212

原创 深入理解java虚拟机阅读笔记七:javac编译和JIT编译

javac 编译与 JIT 编译编译过程不论是物理机还是虚拟机,大部分的程序代码从开始编译到最终转化成物理机的目标代码或虚拟机能执行的指令集之前,都会按照如下图所示的各个步骤进行:其中绿色的模块可以选择性实现。很容易看出,上图中间的那条分支是解释执行的过程(即一条字节码一条字节码地解释执行,如 JavaScript),而下面的那条

2018-01-10 15:25:49 282

转载 深入理解java虚拟机阅读笔记六:多态的实现-静态分派和动态分派

多态性实现机制——静态分派与动态分派方法解析Class 文件的编译过程中不包含传统编译中的连接步骤,一切方法调用在 Class 文件里面存储的都只是符号引用,而不是方法在实际运行时内存布局中的入口地址。这个特性给 Java 带来了更强大的动态扩展能力,使得可以在类运行期间才能确定某些目标方法的直接引用,称为动态连接,也有一部分方法的符号引用在类加载阶段或第一次使

2018-01-10 15:17:07 168

转载 深入理解java虚拟机阅读笔记五:类的初始化

深入理解 Java 虚拟机类初始化类初始化是类加载过程的最后一个阶段,到初始化阶段,才真正开始执行类中的 Java 程序代码。虚拟机规范严格规定了有且只有四种情况必须立即对类进行初始化:遇到 new、getstatic、putstatic、invokestatic 这四条字节码指令时,如果类还没有进行过初始化,则需要先触发其初始化。生成这四条指令

2018-01-10 14:57:30 148

转载 深入理解java虚拟机阅读笔记四:java代码编译和执行过程

Java 代码编译和执行的整个过程Java 代码编译是由 Java 源码编译器来完成,流程图如下所示:Java 字节码的执行是由 JVM 执行引擎来完成,流程图如下所示:Java 代码编译和执行的整个过程包含了以下三个重要的机制:Java 源码编译机制类加载机制类执行机制Java

2018-01-10 14:38:22 181

原创 深入理解java虚拟机阅读笔记三:java类加载机制

深入学习JVM3:JVM类加载机制本文的内容是关于JVM如何加载Class文件以及Class文件中的信息进入到虚拟机后会发生什么变化。本文内容主要包括一下这个部分:类加载的时机类加载的过程类加载器概述学计算机的都晓得一句话:“计算机只认识0和1,所以我们写的程序需要被编译器翻译成由0和1构成的二进制格式才能被计算机执行”。但由

2018-01-08 19:41:25 223

原创 深入理解java虚拟机阅读笔记二:java自动内存管理机制以及垃圾回收机制

本文是对JVM的经典学籍《深入理解Java虚拟机》中知识学习的总结摘抄,原书内容写的很好,所特意从中摘取自己觉得比较重要的点,不求能够全部掌握所有内容,但至少保证能够在整体轮廓上有所斩获。1. JVM内存区域1.1. 概述对于Java程序员来说,在虚拟机的自动内存管理机制的帮助下,不再需要为每一个new操作去写配对的delete/free代码,而且不容易出现内存泄漏和内存溢出问题。

2018-01-08 17:28:10 310

原创 深入理解java虚拟机阅读笔记一:java简介

Java 不仅仅是一门编程语言,它还是一个由一系列计算机软件和规范形成的技术体系,这个技术体系提供了完整的用于软件开发和跨平台部署的支持环境,并广泛应用于嵌入式系统、移动终端、企业服务器和大型机等各种场合。时至今日,Java 技术体系已经吸引了近千万软件开发者,这是全球最大的软件开发团队。使用 Java 的设备多达几十亿台,其中包括 8 亿多台个人计算机、21 亿部移动电话及其他手持设备、35 亿

2018-01-08 16:31:47 192

spring-security书籍翻译

spring-security书籍翻译 源码解析,包括各种过滤器的源码解析,已经原始使用文档的翻译

2017-03-18

CloudSim安装包

包含CloudSim安装包,包含修复的sources bug,包含flanagan.jar包,一次安装就可以使用。附 中文安装参考资料。http://blog.csdn.net/kingsleyaa/article/details/50767567

2016-11-14

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除