自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Tiffany学习的博客

边学习边做笔记

  • 博客(17)
  • 收藏
  • 关注

原创 LeetCode-第九题-回文数

分析:首先判断负数一定不是回文数,将原数逆转是关键使用了reverse = reverse*10+temp%10;            temp = temp/10;来获得逆转之后的数class Solution { public boolean isPalindrome(int x) { if(x<0) return false...

2018-08-13 19:17:08 223

原创 Java内存模型与线程

内存间的交互操作:一个变量如何从主内存拷贝到工作内存,如何从工作内存同步回主内存的实现细节,Java内存模型定义了8种操作来完成,虚拟机实现细节,Java内存模型定义了以下8种操作来完成:lock(锁定):作用于主内存的变量,它把一个变量标识为一条线程独占的状态 unlock(解锁):作用于主内存变量,它把一个处于锁定状态的变量释放出来,释放后的变量才可以被其他线程锁定 read(读取):...

2018-08-13 18:44:40 117

原创 创建线程的三种方式

有三种创建方式:继承Thread类来创建线程 实现Runnable接口来创建线程 使用Callable和Future创建线程方法一:定义Thead类的子类并重写里面的run方法,当使用该类启动线程时,直接调用里面的start即可public class Demo1 extends Thread{//创建线程的第一种方式 public void run() { System....

2018-08-13 10:42:08 241

原创 LeetCode第一题

要求是:从给定数组中找到两个值,使得他们的和等于目标值target,返回的是这两个数的索引值此处可以用HashMap将nums数组中的值存到key里面,而value存储的是索引位置值步骤:创建一个HashMap,和一个只存两个数的数组 循环遍历给定数组nums:如果hashmap中含有给定目标值nums[i],则用get来获取索引值;否则将数组的值存到HashMap中 返回re...

2018-08-12 20:32:19 377

原创 Comparator和Comparable之间的区别

参考:两种比较器的区别对于Comparable接口:public class Domain implements Comparable<Domain> {// Comparable相当于内比较器,重写compareTo方法 private String str; public Domain(String str) { this.str = str; } @Ove...

2018-08-12 16:44:37 171

原创 基于TreeMap分析红黑树

由于TreeMap底层是由红黑树实现的,所以我们先来了解一下红黑树本文参考红黑树红黑树本身是一个二叉查找树,二叉查找树又称为有序二叉树,排序二叉树,是指空树,或者具有如下性质的二叉树:若任意结点的左子树不空,则左子树上所有结点的值均小于其根节点的值 若任意结点的右子树不空,则右子树上所有结点的值均大于其根节点的值 任意结点的左右子树也分别称为二叉查找树 没有键值相等的结点红黑树...

2018-08-12 10:38:28 212

原创 一个简单的Servlet程序

入门Servlet,先写一个小的程序:第一步:写一个Java类,实现Servlet接口第二步:修改web.xml(在WEB-INF里面)文件,创建一个Servlet实例,并给Servlet提供一个可访问的URI地址 <!-- 创建一个servlet实例 --> <servlet> <servlet-name>ServletDemo1&...

2018-08-11 21:33:30 745

原创 Tomcat部署的几种方式(自动和手动)

自动部署:1 Tomcat集成Window-perferences-myeclipse-tomcat7.x,注意一定要将Tomcat设置为enable,然后点击OK此时,myeclipse中就有了Tomcat7.x,这是就可以部署啦右键-add deployment,将你要添加的工程添加进去,finish此时看到的界面是这样滴哦:此时就完成了Tomcat的部...

2018-08-11 19:52:33 1932

原创 第八章 虚拟机字节码执行引擎

第一节 概述执行引擎是Java虚拟机最核心的组成部分之一,对于“物理机”,其执行引擎是直接建立在处理器,硬件,指令集和操作系统层面上的;而对于“虚拟机”,其执行引擎是由自己实现的,因此可以自行制定指令集和执行引擎的结构体系,并且能够执行那些不被硬件直接支持的指令集格式。 执行引擎在执行Java代码的时候可能会有解释执行(通过解释器执行)和编译执行(通过即时编译器产生本地代码执行)两种选择,...

2018-08-09 21:19:28 132

原创 7.4 类加载器

什么是类加载器?虚拟机设计团队把类加载阶段中的“通过一个类的全限定名来获取此类的二进制字节流”这个动作放到Java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需的类,用于实现该动作的代码块称为“类加载器”一 类与类加载器1 虽然类加载器只用于实现类的加载动作,但它在Java程序中起到的作用却远远不限于类加载阶段   对于任意一个类,都需要由加载它的类加载器和这个类本身一同确...

2018-08-08 16:01:37 77

原创 try/catch,throws,throw的区别及联系

最近发现自己学东西并不是很严谨,如果让我仔细说出try/catch和throw,throws的区别,我发现我并不能准确的说出来,于是,在这里总结一下对于throw是语句抛出的异常,throws是方法抛出的异常throw要么和try...catch...finally语句配套使用,要么与throws配套使用,throws可以单独使用,然后由处理异常的方法获得再来说它们得联系:1 tr...

2018-08-08 15:04:07 1661

原创 实现火车站售票的例子

一共设置4个窗口,卖100张票public class Ticket_Test { public static void main(String[] args) { new Ticket().start(); new Ticket().start(); new Ticket().start(); new Ticket().start(); }}class Tick...

2018-08-05 22:19:00 482

原创 对于静态方法与非静态方法使用关键字synchronized

对于非静态同步方法:如果使用synchronized关键字的话,锁对象是thispublic class Test1 { public static void main(String[] args) { final Printer p = new Printer(); new Thread() { public void run() { while(true) { ...

2018-08-05 21:41:26 1358

原创 7.3 类加载过程

类加载的全过程有五个阶段:加载,验证,准备,解析和初始化一 加载1 注意区分“加载”和“类加载”,加载是类加载过程的一个阶段2 在加载阶段,虚拟机需要完成以下三件事:通过一个类的全限定名来获取定义此类的二进制字节流+   将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构 在内存中生成一个代表这个类java.lang.Class对象,作为方法区这个类的各种数据的访问...

2018-08-05 15:38:34 143

原创 7.2 类加载的时机

这一章要了解:虚拟机如何加载这些Class文件?Class文件中的信息加入到虚拟机后会发生什么?类从被加载到虚拟机内存开始,到卸载出内存为止,它的整个生命周期包括:加载,验证,准备,解析,初始化,使用和卸载七个阶段,其中验证,准备,解析统称为连接加载,验证,准备,初始化和卸载这五个阶段的顺序是确定的这些阶段通常都是互相交叉地混合式进行的,通常会在一个阶段执行的过程中调用,激活另一个阶段...

2018-08-04 17:22:59 91

原创 字节码指令简介

Java虚拟机的指令由一个字节长度的,代表着某种特定操作含义的数字以及跟随其后的零至多个代表此操作所需参数而构成字节码操作按用途大致分为9类:一 加载和存储指令用于将数据在栈帧中的局部变量表和操作数栈之间来回传输,包括以下内容:将一个局部变量加载到操作栈 将一个数值从操作数栈存储到局部变量表 将一个常量加载到操作数栈 扩充局部变量表的访问索引的指令<>结尾的代表了...

2018-08-03 20:17:20 331

原创 第六章-类文件结构

类文件结构包括魔数与Class文件的版本 常量池 访问标志 类索引,父类索引与接口索引集合 字段表集合 方法表集合 属性表集合第二节 无关性的基石Java虚拟机不和包括Java在内的任何语言绑定,它只与“Class文件”这种特定的二进制文件格式所关联,Class文件中包含了Java虚拟机指令集和符号表以及若干其他辅助信息。基于安全方面考虑,Java虚拟机规范要求在Clas...

2018-08-03 15:07:29 146

空空如也

空空如也

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

TA关注的人

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