![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
DavissHero
这个作者很懒,什么都没留下…
展开
-
java基础(1)-----编写并运行第一个java程序
下面是一个简单的java程序,将在控制台输出hello worldpublic class HelloWorld { public static void main(String[] args) { System.out.println("Hello World"); }}下面将逐步介绍该段程序的编辑、保存、运行步骤使用任一编辑器新建文本,我这里...原创 2018-10-23 14:20:43 · 488 阅读 · 1 评论 -
java基础(10)-----JDK中观察者模式和事件驱动模型源码解析
引用百度百科,观察者模式概念:观察者模式(Observer)是软件设计模式的一种,在此模式中,一个目标物件管理所有依附于它的所有观察者物件,并且在它本身的状态发生改变时主动发出通知。这通常通过呼叫观察者实现的方法来实现,此种常被用来实现事件处理系统,例如事件驱动模型1.JDK中的观察者模式设计用一个UML图看下JDK提供了我们哪些接口和类:Observer:观察者。...原创 2018-12-03 14:31:34 · 352 阅读 · 1 评论 -
java基础(11)-----CallBackListener监听回调
直接贴一个小demo吧AbstractCallBackListener类:/** * 监听回调抽象类 * @author zisong yue * @date 2018-12-05 */public abstract class AbstratCallBackListener { void callBackOnStateChang(String message){};...原创 2018-12-05 14:36:39 · 1478 阅读 · 0 评论 -
java基础(9)-----Future和Callable
在多线程协作场景中,我们可以通过继承Thread或者实现Runnable接口。但是,Runnable接口并没有返回值,如果我们需要之前的执行结果,发现没辙了;这个时候出现了Callable和Future,通过实现Callable接口得到执行结果;通过Future获取、监视、控制执行结果。1.Callable和Runnable的区别通过源码我们一起看下,Callable接口:...原创 2018-11-26 15:50:00 · 4283 阅读 · 2 评论 -
java基础(6)-----对象和方法的作用域
java的作用域有四个,分别是public、protected、default(friendly)、private。作用域即:对象之间访问权限的控制。下面对四个作用域说明下:public修饰符:对象本身、同一个包下、子类、其他包下对象都可以调用protected修饰符:对象本身、同一个包下、子类对象可以调用default修饰符:对象本身、同一个包下对象可以调用private修饰符:...原创 2018-11-20 11:15:05 · 1936 阅读 · 0 评论 -
java基础(8)-----Lock and synchronized
synchronized可以实现同步,为什么我们还需要Lock呢?jdk5之后增加了一个新的包java.util.concurrent,java在这里提供了新的并发编程的工具,其中下面的Locks包都是关于Lock这一部分的,如图:1.和synchronized比较 synchronized可以修饰变量、代码块、方法,对象中有这个关键字的代码被访问的时候,线程就可以获...原创 2018-11-22 11:57:24 · 250 阅读 · 0 评论 -
java基础(7)-----管道pipedInputStream和pipedOutputStream
1.介绍 网上已经有很多关于管道介绍和源码分析的文章,有相当一部分对管道的介绍是这样子的:用于多线程之间的通信,又叫做管道通信。总感觉这样的说法不太准确,也非常含糊,java管道的设计,就决定了要使用管道,起码要两个线程,因为同一个线程内使用管道,会造成死锁,而多线程之间的通信只是管道的一个附属品,并不是他的用处,他的用处在于,管道可以创建一个循环数组缓冲区,这是他的核心,所以说,对于管...原创 2018-11-20 15:22:06 · 389 阅读 · 0 评论 -
java基础(5)-----设计模式-单例(Singleton)
写软件的时候经常需要用到打印日志功能,可以帮助你调试和定位问题,项目上线后还可以帮助你分析数据。但是Java原生带有的System.out.println()方法却很少在真正的项目开发中使用,甚至像findbugs等代码检查工具还会认为使用System.out.println()是一个bug。为什么作为Java新手神器的System.out.println(),到了真正项目开发当中会被唾弃呢?...转载 2018-11-01 15:09:00 · 109 阅读 · 0 评论 -
java基础(4)-----序列化
什么是序列化?我们的对象并不只是存在内存中,还需要传输网络,或者保存起来下次再加载出来用,所以需要Java序列化技术。本文对常见的几种序列化的方式介绍下并做了简单的对比,有java原生序列化(serialize)、json序列化(jackson)、fastjson序列化1.java原生序列化public class JavaSerialize { public stati...原创 2018-10-31 17:06:30 · 346 阅读 · 0 评论 -
java基础(2)-----枚举
JDK1.5之后引入了新的类型-枚举,本质就是继承了Enum类,下面是工作中我们可能要用到的一些场景,示例附带测试代码,大家可以直接黏贴进行测试,加深理解,有不足的地方,欢迎指导。一、最简单的用法--常量public enum Color { GREEN,RED,YELLOW; public static void main(String[] args) { ...原创 2018-10-23 17:30:33 · 118 阅读 · 0 评论 -
java基础(3)-----泛型
1.概述(什么是泛型?)泛型,即“参数化类型”,顾名思义,将具体的类型参数化,在调用的时候再传入具体的类型2.一个简单的例子public class GenericTest { public static void main(String[] args) { List list = new ArrayList(); list.add("qqy...原创 2018-10-31 14:50:40 · 207 阅读 · 0 评论 -
java基础-----(反射)
1.什么是反射? 引用百度百科的解释。java反射机制是在运行状态中,对于任意一个实体类,都能够知道这个实体类的所有属性和方法;对于任意一个对象,都能够调用他的属性和方法;这种动态获取类信息以及调用对象方法的功能称为java语言的反射机制。2.反射可以做什么? 我们知道反射机制允许程序在运行时取得任何一个已知名称的class的内部信息,包括包括其modifiers(修饰符...原创 2019-01-07 14:04:08 · 148 阅读 · 0 评论