会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
sonng的笔记站
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
下一页
2016年12月6日
0038 Java学习笔记-多线程-传统线程间通信、Condition、阻塞队列、《疯狂Java讲义 第三版》进程间通信示例代码存在的一个问题
摘要: 调用同步锁的wait()、notify()、notifyAll()进行线程通信 看这个经典的存取款问题,要求两个线程存款,两个线程取款,账户里有余额的时候只能取款,没余额的时候只能存款,存取款金额相同。相当于存取款交替进行,金额相同。 线程间通信,需要通过同一个同步监视器(也就是this或者显式的O
阅读全文
posted @ 2016-12-06 17:46 sonng
阅读(412)
评论(0)
推荐(1)
2016年12月5日
0037 Java学习笔记-多线程-同步代码块、同步方法、同步锁
摘要: 什么是同步 在上一篇 "0036 Java学习笔记 多线程 创建线程的三种方式" 示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条线程访问,一条线程在执行一个循环的过程中被中断,下一个线程则出现错误 因此,线程任务中可能引
阅读全文
posted @ 2016-12-05 16:39 sonng
阅读(395)
评论(0)
推荐(0)
0036 Java学习笔记-多线程-创建线程的三种方式
摘要: 创建线程 创建线程的三种方式: + 继承java.lang.Thread + 实现java.lang.Runnable接口 + 实现java.util.concurrent.Callable接口 所有的线程对象都是Thead及其子类的实例 每个线程完成一定的任务,其实就是一段顺序执行的代码 继承ja
阅读全文
posted @ 2016-12-05 11:43 sonng
阅读(476)
评论(0)
推荐(0)
2016年12月1日
0035 Java学习笔记-注解
摘要: 什么是注解 注解可以看作类的第6大要素(成员变量、构造器、方法、代码块、内部类) 注解有点像修饰符,可以修饰一些程序要素:类、接口、变量、方法、局部变量等等 注解要和对应的配套工具(APT:Annotation Processing Tool)一起使用,APT会对含有注解进行一些处理 比如API文档
阅读全文
posted @ 2016-12-01 12:13 sonng
阅读(333)
评论(0)
推荐(0)
2016年11月30日
0034 Java学习笔记-反射-初步2-操作对象
摘要: 通过反射创建对象 通过反射创建对象有两种方式,一种通过Class对象的newInstance()方法,一种是获取到Class对象的Constructor后,再调用newInstance()方法,前者要求对应类有默认的无参构造器,后者则可以用特定的的构造器 前者用得较多,很多Java EE框架中都用x
阅读全文
posted @ 2016-11-30 17:27 sonng
阅读(363)
评论(0)
推荐(0)
0033 Java学习笔记-反射-初步1
摘要: 先看看通过反射能干嘛 示例:修改对象的private实例变量 上面的示例中,虽然age和name被private修饰,但还是被修改了,那这岂不是很不安全,违背了封装的初衷?我也不知道 java.lang.class 有一个类很特别,它是所有类的类,它就是java.lang.class 要使用一个类的
阅读全文
posted @ 2016-11-30 11:22 sonng
阅读(306)
评论(0)
推荐(0)
2016年11月28日
0032 Java学习笔记-类加载机制-初步
摘要: JVM虚拟机 Java虚拟机有自己完善的硬件架构(处理器、堆栈、寄存器等)和指令系统 Java虚拟机是一种能运行Java bytecode的虚拟机 JVM并非专属于Java语言,只要生成的编译文件能匹配JVM对载入编译文件格式要求,任何语言都可以交由JVM运行,比如Scala、Groovy、Fant
阅读全文
posted @ 2016-11-28 17:05 sonng
阅读(418)
评论(0)
推荐(0)
2016年11月25日
0031 Java学习笔记-梁勇著《Java语言程序设计-基础篇 第十版》英语单词
摘要: 第01章 计算机、程序和Java概述 第02章 基本程序设计 第03章 选择 第04章 数学函数、字符和字符串 第05章 循环 第06章 方法 第07章 一维数组 第08章 多维数组 第09章 对象和类 第10章 面向对象思考 第11章 继承和多态 第12章 异常处理和文本I/O 第13章 抽象类和
阅读全文
posted @ 2016-11-25 19:33 sonng
阅读(1799)
评论(0)
推荐(0)
2016年11月24日
0030 Java学习笔记-面向对象-垃圾回收、(强、软、弱、虚)引用
摘要: 垃圾回收特点 垃圾:程序运行过程中,会为对象、数组等分配内存,运行过程中或结束后,这些对象可能就没用了,没有变量再指向它们,这时候,它们就成了垃圾,等着垃圾回收程序的回收再利用 Java的垃圾回收机制只回收 中的对象,不回收数据库连接、IO等资源,所以才要在finally中关闭 要回收,但什么时候回
阅读全文
posted @ 2016-11-24 15:08 sonng
阅读(380)
评论(0)
推荐(0)
2016年11月23日
0029 Java学习笔记-面向对象-枚举类
摘要: 可以创建几个对象? n多个:大部分的类,都可以随意创建对象,只要内存不爆掉 1个:比如 "单例类" 有限的几个:采用单例类的设计思路,可以只允许创建少数的几个特定的对象;还有就是枚举类。 创建少数几个对象,不用枚举类实现 创建少数几个对象,用枚举类改写 枚举类 枚举类的关键字是enum,跟class
阅读全文
posted @ 2016-11-23 17:48 sonng
阅读(360)
评论(0)
推荐(0)
2016年11月22日
0028 Java学习笔记-面向对象-Lambda表达式
摘要: 匿名内部类与Lambda表达式示例 下面代码来源于: "0027 Java学习笔记 面向对象 (非静态、静态、局部、匿名)内部类" 下面用Lambda表达式改写 Lambda表达式的基本结构 + 形参列表:()圆括号部分 形参列表位于圆括号中 形参类型允许省略:上面代码中省略"int[]"也是可以的
阅读全文
posted @ 2016-11-22 20:53 sonng
阅读(615)
评论(0)
推荐(1)
2016年11月21日
0027 Java学习笔记-面向对象-(非静态、静态、局部、匿名)内部类
摘要: 内部类 内部类就是把一个类写在另一个类的内部 用途: + 如果一个类只希望它被某一个类访问,那么可以把它定义在另一个类的内部,并用private修饰 + 内部类可以访问它所在外部类的private成员;但所在的外部类的成员不能直接访问内部类的数据 + 内部类适合于创建那些仅需要一次使用的类 内部类除
阅读全文
posted @ 2016-11-21 17:24 sonng
阅读(382)
评论(0)
推荐(0)
0026 Java学习笔记-面向对象-抽象类、接口
摘要: 抽象方法与抽象类 抽象方法用abstract修饰,没有方法体部分,连花括号都不能有; 抽象方法和抽象类都用abstract修饰 包含抽象方法的类一定是抽象类;但不包含抽象方法的类也可以是抽象类 不能创建抽象类的实例,抽象类里可以有构造方法,但只是用来给子类调用的 抽象类可以包含类的5大要素:成员变量
阅读全文
posted @ 2016-11-21 10:45 sonng
阅读(368)
评论(0)
推荐(0)
2016年11月18日
0025 Java学习笔记-面向对象-final修饰符、不可变类
摘要: final关键字可以用于何处 修饰类:该类不可被继承 修饰变量:该变量一经初始化就不能被重新赋值,即使该值跟初始化的值相同或者指向同一个对象,也不可以 + 类变量: + 实例变量: + : 注意可以修饰形参 + 局部变量 修饰方法:该方法不可被重写 final修饰成员变量 final修饰成员变量,必
阅读全文
posted @ 2016-11-18 18:33 sonng
阅读(638)
评论(0)
推荐(0)
0024 Java学习笔记-面向对象-包装类、对象的比较、String常量池问题
摘要: 包装类 基本类型 包装类 + byte Byte + short Short + int Integer + long Long + char Character + float Float + double Double + boolean Boolean 基本类型转为包装类型: + 自动装箱Au
阅读全文
posted @ 2016-11-18 00:03 sonng
阅读(421)
评论(0)
推荐(0)
2016年11月17日
0023 Java学习笔记-面向对象-初始化代码块
摘要: 初始化代码块 在18篇 类的基本要素中说到,类的三大成员:成员变量、构造方法、方法,初始化代码块是类的第4个成员 初始化块用于对类或者对象的初始化, 一个类的初始化块可以有0~多个,按先后顺序执行 跟实例方法 类方法、实例变量 类变量一样,也可以用static修饰初始化块,静态初始化块 非静态初始化
阅读全文
posted @ 2016-11-17 15:27 sonng
阅读(830)
评论(0)
推荐(0)
0022 Java学习笔记-面向对象-继承、多态、组合
摘要: 继承的特点 单继承:每个子类最多只有一个直接父类,注意是直接父类,间接父类个数不限 注意父类的概念:A B C D,在这里,ABC都是D的父类,C是D的直接父类,AB是D的间接父类 父类和子类是一般和特殊的关系;子类扩展了父类,子类是一种特殊的父类 Object是所有类的直接或间接父类;定义一个类时
阅读全文
posted @ 2016-11-17 11:12 sonng
阅读(343)
评论(0)
推荐(0)
2016年11月16日
0021 Java学习笔记-面向对象-包、构造器
摘要: 封装 面向对象的三大特征: + 封装 + 继承 + 多态 封装: + 将对象的状态信息隐藏,不允许外部程序直接访问 + 通过该类提供的方法来访问和操作 有啥用: + 隐藏类的实现细节 + 在方法中加入控制逻辑,限制对成员变量的不合理访问,比如把年龄设置为1000岁 + 进行数据检查,有利于保证对象信
阅读全文
posted @ 2016-11-16 16:03 sonng
阅读(287)
评论(0)
推荐(0)
0020 Java学习笔记-面向对象-变量
摘要: 变量分为哪些 成员变量:类里面,方法外面定义的变量 + 实例变量:没有用static修饰的变量,属于对象;存在期:创建实例~销毁实例;作用域:与该实例的生存范围相同 + 类变量:用static修饰的变量,属于类;存在期:类的准备阶段~销毁该类;作用域:与类的生存范围相同 局部变量: + 形参:方法签
阅读全文
posted @ 2016-11-16 11:58 sonng
阅读(284)
评论(0)
推荐(0)
0019 Java学习笔记-面向对象-方法
摘要: 方法属于谁 方法要么属于类,要么属于对象 static修饰的方法属于类 没有static修饰的方法属于对象 方法只能定义在类里面,不能独立定义 不能独立的执行方法,要么通过类调用,要么通过方法调用 一个类里,一个方法调用另一个方法,看似没有调用者,实际上对于非static方法使用this调用,sta
阅读全文
posted @ 2016-11-16 10:37 sonng
阅读(295)
评论(0)
推荐(0)
上一页
1
2
3
4
下一页
公告