Deadlock_synchromized-Java_se】的更多相关文章

黑马程序员入学blog ... 如果这章节很难懂的话应该返回去先看  JAVA_SE基础--10.变量的作用域 定义的位置上区别: 1. 成员变量是定义在方法之外,类之内的. 2. 局部变量是定义在方法之内. 作用上的区别: 1. 成员变量的作用是用于描述一类事物的公共 属性的. 2. 局部变量的作用就是提供一个变量给方法内部使用而已. 生命周期区别: 1. 随着对象 的创建而存在,随着对象的消失而消失. 2. 局部变量在调用了对应的方法时执行到了创建该变量的语句时存在,局部变量一旦出了自己的作…
前面我已经教会大家基本的数据类型进行了介绍,   然后这篇文章,我来介绍下,基本数据类型的转换. Java中有两种类型转换形式,分别是自动类型转换和强制类型转换. Step1.自动类型转换. 自动类型转换必须在相同数据类型的数据之间进行,并且必须是由低精度类型向高精度类型转换.自动类型转换适合于整数类型与浮点类型. 例:从byte类型向int类型转换时,就会发生自动类型转换. 下面来看一个实现自动类型转换的实例: byte bt = 5; int it = bt; 低精度类型→高精度类型    …
基本数据类型有:整数类型.浮点类型.字符类型.布尔类型 整数类型 整数类型用来存储整数数值,即没有小数部分的数值.与C.C++语言相同,整数在Java语言中有3种表示形式:十进制.八进制和十六进制. 十进制整数:以1-9开头的数,如123.456.0. 八进制整数:以0开头且其后由0-7范围(包括0和7)内的数组成的整数,如01011和031,分别表示十进制数521和25, 计算方式如下.01011转换为十进制数,1 * 83  + 0 * 82 + 1 * 81 + 1 * 80 = 521…
上一篇,我讲了标识符&关键字    这篇我来解释下变量&常量~~~ 变量与常量这两个概念相信大家都不会感到陌生,在数学中就已经涉及了变量与常量.理解变量与常量,可以举这样一个例子: 例如,银行中活期存款的利率按5%计算,那么这个数字5%就是常量,而从银行中获得的利息会在不断地变化,此时利息就是变量. Java程序中的变量.常量与数学中的变量.常量意义是相同的,本节向大家介绍Java中的变量与常量. 常量的概念及使用 Step1. Step2. 在Java语言中声明一个常量,除了要指定数据类…
学会写helloworld之后,  我们就开始来认识标识符&关键字 一.标识符 标识符是指可被用来为类.变量或方法等命名的字符序列,换言之,标识符就是用户自定义的名称来标识类.变量或方法等.更简单的说,标识符就是一个名字.标识符的选择并不是任意的,Java语言规定标识符由字母.数字.下划线和美元符号($)组成,并且第一个字符不能是数字. 例如以下都是合法的标识符: num user3 price$ namebook_name MIN_VALUE $JHH 例如以下都是非法的标识符: 4word…
配置完JDK&环境变量后,我们就可以开始写程序了,那么程序怎么写呢,用什么工具呢,我建议 为了方便学习,我们最好在一个磁盘下建立一个专门的文件来写java程序,比如就在D盘下建立一个名为"java"的目录,然后在这个目录下写程序.刚开始最好用文本来写程序而不是集成开发环境,例如eclipse,记事本,等等,因为这样会锻炼写代码规范的能力. 1.新建记事本(我自己习惯用EditPlus),命名为:yuanma4.java 2.然后打开编辑代码,如下: class yuanma1…
这次,我来写下关于path的临时配置的心的 我来说个有可能的实例:如果你去到别人的电脑 又想写代码 又不想改乱别人的path配置的话  再说别人愿意你在别人的电脑上瞎配吗? 那该怎么办呢? 那没问题  说配完会删的 老毕说 放屁  所以 同学们别这样做(不道德) 下面我来教大家一种方法,是在命令提示符下配置,而且只在当前命令行有效      命令看下图↓ 比如我现在用别人的电脑,刚装完一个JDK  路径是D:\JDK         我现在开始临时配置 打开命令提示符--输入"set path=…
哈喽,利用晚上的空余时间再写篇心的~~~  谢谢大家 前一篇文章 JAVA_SE基础--JDK&JRE下载及安装http://blog.csdn.net/thescript_j/article/details/44944309    已经教会大家安装JDK了. 为了更有效率的使用JDK,下面我来教大家配置JDK的环境变量. <说明:如果使用集成开发工具例如(Eclipse.NetBeans等),那么可以省略此步骤> Step1. 在Windows 7 系统中,同时按下<Win&g…
这是我学了JAVA来写的第一篇博客: 我首先是在传智播客领了张.毕向东老师的免费JAVA学习光盘来学习! 下面我来教大家安装使用JAVA时候必备的JDK 1.首先上甲骨文公司的官方网站下载JDK的安装包,根据自己电脑的操作系统选择正确的版本下载.不知道下载地址的同学可以百度一下很快就能搜到.甲骨文的网站是:http://www.oracle.com/index.html 为了体谅英文不太好的同学(包括我),先把网站的语言换成中文先.   我就以JAVA8 来做演示吧. 接受许可协议 --打勾  …
黑马程序猿入学blog ... 假设这章节非常难懂的话应该返回去先看  JAVA_SE基础--10.变量的作用域 定义的位置上差别: 1. 成员变量是定义在方法之外,类之内的. 2. 局部变量是定义在方法之内. 作用上的差别: 1. 成员变量的作用是用于描写叙述一类事物的公共 属性的. 2. 局部变量的作用就是提供一个变量给方法内部使用而已. 生命周期差别: 1. 随着对象 的创建而存在.随着对象的消失而消失. 2. 局部变量在调用了相应的方法时运行到了创建该变量的语句时存在,局部变量一旦出了自…
一.集合类概述: 1.为什么出现集合类? 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,Java就提供了集合类. 2.数组和集合类同是容器,有何不同? 数组虽然也可以存储对象,但长度是固定的:集合长度是可变的.数组中可以存储基本数据类型,集合只能存储对象. 3.集合类的特点  集合只用于存储对象,集合长度是可变的,集合可以存储不同类型的对象. 二.集合的继承体系图解: 三.学习集合体系,首先我们先学习他们的"老大":Collection,查询它的API文档.…
文件和流 1.什么是节点流和处理流 InputStream & OutputStream Reader & Writer 乃节点流, 前面加File之类的名词 的节点流 其余加动词的均为处理流,想着处理流是加在节点流的基础上的 节点流:从特定的地方读写的流类,例如:磁盘或一块内存区域. 处理流:使用节点流作为输入或输出.是使用一个已经存在的输入流或输出流连接创建的. 2.节点流有以下特点:  a.直接连接到数据源  b.源和目的都是两个节点流  c.节点流的类型是文件.内存和管道 3…
集合 结构图: 总结: 1.集合中的元素都是对象(注意不是基本数据类型),基本数据类型要放入集合需要装箱. 2.set与list的主要区别在于set中不允许重复,而list(序列)中可以有重复对象. 3.TreeSet中可以排序,HashSet是无序的:Vector和ArrayList都是可以排序的 List 1.arrayList.add(null);后  列表中会有null 2.在list中:ArrayList和Vector都有一个缺点,就是当删除或增加集合中的某一元素时,该元素后的下标会发…
线程 1.两种创建线程的方式都有自身的优点.  实现 Runnable 接口的优点:  从面向对象的设计观点看,Thread 类严格来讲是一个虚拟CPU 的封装,因此只有要改变或扩展该CPU 模型的行为时才应该继承这个类. 继承Thread 的优点是:代码会得到简化. 继承Thread 的缺点是:Java 只允许单继承,如果已经继承了Thread 类,则不能再继承其他类例如JFrame,这使得一些情况下不得不采用实现Runnable 的方法. 2.线程的优先级 默认情况下,线程的优先级是5…
异常.调试和断言 一. 异常的分类 1. 可查异常    例: 2. 不可查异常  例:Runtime Exception 3. 异常的分类结构: 1. 不执行finally 子句的唯一情况是虚拟机关闭(Finally在无论什么情况下都要执行) 2. 自定义异常时,需要通过throw关键字来new出自定义的异常类 3. Finally在无论什么情况下都要执行 来自为知笔记(Wiz)…
面向对象编程(二) 一.static 关键字 静态属性 1.不能覆盖静态方法.要被覆盖的方法必须是非静态的.在继承链中具有相同方法名的两个静态方法是两个互相独立的类方法.调用子类的静态方法只是将父类的静态方法隐藏了. 2.main()方法被声明为static 的原因是因为执行main 方法时,JVM 只是加载了这个类,并没有创建类的实例. 另外,静态方法只能调用静态变量和方法,非静态方法只能调用非静态变量和方法. 自我总结: 1. 被static修饰的变量,是该类的公有变量 ,若要在类外使用,首…
一.面向对象程序设计(OOP) 1.面向对象的程序设计是程序开发的一种方法.它将对象作为程序的基本单元,将程序和 数据封装其中,以提高软件的重用性.灵活性和扩展性 2.三个特征: 封装:隐藏信息 继承: 多态: 二.类 1. 类(class)是构造对象的一个模板,它表示对现实生活中一类具有共同特征的事物的抽象. 2. 对象有三个特征: 行为(behavior): 一般类中定义的属性.方法都可以看作是行为. 状态(state): 对对象施加操作.方法后,对象的响应.每个对象都保存着描述当前特征的信…
面向对象编程(一) 一.继承 1. 在类图表示中,使用一个分为三块的矩形表示一个类.矩形的第一块表示类名,第二块描述这个类的属性及属性的数据类型,第三块描述这个类的操作,也就是方法以及返回类型.             2. 访问控制 修饰符      类自身  同包内  子类   所有其他类 private    Yes default    Yes     Yes protected  Yes     Yes     Yes public     Yes     Yes     Yes   …
一.数据类型 1.基本数据类型 Ps:有效标识符:_.字母.$开头  之后可有数字 整型:byte 1 short 2 int 4 long 8  (字节) 取值范围:其范围是从负2 的该数据类型位数减1次幂到2 的该数据类型位数减1 次幂– 1. 2.浮点型 float 4            double 8   (字节) 取值范围:6~7 位有效数字             15 位有效数字 注意:float 类型的数值必须加一个后缀F 例:如果不加后缀F,这个数据就会被Java 理解成…
进程 :  正在执行的程序称作为一个进程.  进程负责了内存空间的划分.   问题: windows号称是多任务的操作系统,那么windows是同时运行多个应用程序吗?从宏观的角度: windows确实是在同时运行多个应用程序.从微观角度: cpu是做了一个快速切换执行的动作,由于速度态度,所以我感觉不到在切换 而已. 线程: 线程在一个进程 中负责了代码的执行,就是进程中一个执行路径, 多线程: 在一个进程中有多个线程同时在执行不同的任务. 疑问 :线程负责了代码 的执行,我们之前没有学过线程…
public class Demo5 { public static void main(String[] args) { char[] arr={'s','b','g','h','a','c'}; StringBuilder sb=new StringBuilder(); Random random=new Random(); for(int i=0;i<4;i++){ int index=random.nextInt(arr.length); sb.append(arr[index]); }…
package cn.itcast.other; /*  Math 数学类, 主要是提供了很多的数学公式.    abs(double a)  获取绝对值  ceil(double a)  向上取整  floor(double a)  向下取整  round(float a)   四舍五入  random()   产生一个随机数. 大于等于 0.0 且小于 1.0 的伪随机 double 值    */ public class Demo4 { public static void main(S…
RunTime类代表Java程序的运行时环境,每一个Java程序都有一个与之对应的Runtime实例,应用程序通过该对象与运行时环境相连,应用程序不能创建自己的Runtime实例,但可以通过getRuntime()方法获得与之关联的Runtime对象. Runtime代表Java程序的运行时环境,可以访问JVM的相关信息,如处理器数量,内存信息. package cn.itcast.other; import java.io.IOException; import javax.managemen…
package cn.itcast.other; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class Demo3 { public static void main(String[] args) throws ParseException { Date date = new Date();…
System类对大家都不陌生吧! 以前经常需要打印结果时使用的都是"System.out.println()"语句,这句代码中就使用了System类.System类定义了一些与系统相关的属性和方法,它所提供的属性和方法都是静态的,所以,想要引用这些属性和方法,直接使用System类调用即可. System类的常用方法- static void exit (int status) 该方法用于终止当前正在运行的Java虚拟机,其中参数status表示状态码,若状态码非0,则表示异常终止jv…
如果需要频繁修改字符串 的内容,建议使用字符串缓冲 类(StringBuffer). StringBuffer 其实就是一个存储字符 的容器. 容器的具备 的行为 常用方法 String  增加 append(boolean b)    可以添加任意类型 的数据到容器中 insert(int offset, boolean b)  指定插入的索引值,插入对应 的内容.  删除 delete(int start, int end)  根据指定的开始与结束的索引值删除对应的内容. deleteCha…
字符串特点:字符串是常量:它们的值在创建之后不能更改.    字符串的内容一旦发生了变化,那么马上会创建一个新 的对象.    注意: 字符串的内容不适宜频繁修改,因为一旦修改马上就会创建一个新的对象.    如果需要频繁修改字符串 的内容,建议使用字符串缓冲 类(StringBuffer). StringBuffer 其实就是一个存储字符 的容器. public class Demo1 { public static void main(String[] args) { String str1…
 字符串特点:字符串是常量:它们的值在创建之后不能更改 字符串的内容一旦发生了变化,那么马上会创建一个新的对象. 注意:字符串的内容不适宜频繁修改,因为一旦修改马上就会创建一个新的对象. public class Demo1 { public static void main(String[] args){ String str1 = "hello"; String str2 = str1 + "world" ; System.out.println("…
获取方法int length()  获取字符串的长度char charAt(int index) 获取特定位置的字符 (角标越界)int indexOf(String str) 查找子串第一次出现的索引值,如果子串没有出现 在字符串中,那么则返回-1表示. int lastIndexOf(String str) 查找子串最后一次出现的索引值 , 如果子串没有出现 在字符串中,那么则返回-1表示 package cn.itcsat.string; public class Demo3 { publ…
下面我先列出初学者目前用到的构造方法 String 的构造方法:     String()  创建一个空内容 的字符串对象.   String(byte[] bytes)  使用一个字节数组构建一个字符串对象   String(byte[] bytes, int offset, int length)    bytes :  要解码的数组   offset: 指定从数组中那个索引值开始解码.   length:要解码多个元素.     String(char[] value)  使用一个字符数组…