Java
java
GondorFu
这个作者很懒,什么都没留下…
展开
-
实现线程数据的共享——ThreadLocal
实现线程数据的共享java.lang.ThreadLocal可以实现类中的某个变量针对不同的线程独立,即相同的线程将访问相同的变量而不同的线程将访问不同的变量(支持泛型)。可以参阅:https://droidyue.com/blog/2016/03/13/learning-threadlocal-in-java/通常使用三个函数set:设置需要的变量值get:获取定义的变量值initialValu...原创 2018-06-19 11:28:31 · 715 阅读 · 0 评论 -
Java基础——内部类
Java基础——内部类1、定义在另一个类中的类:内部类。内部类可以通过OuterClass.this来获取外部类的引用,同时外部类可以通过outerObject.new InnerClass(construction parameters)来获得内部类对象。同时,内部类用于外部类所有元素的访问权限,在内部类构造时,编译器会隐式的将外部类的引入传入。public class DotThis{ vo...原创 2018-05-23 19:23:55 · 143 阅读 · 0 评论 -
Java 对象序列化
Java 对象序列化Java 的对象序列化将那些实现了 Serializable 接口的对象转换成一个字节序列(因此,只能使用 Stream 相关类进行操作),并能够在以后将这个字节序列完全恢复为原来的对象。只要对象实现了 Serializable 接口(该接口仅是一个标记接口,并不包括任何方法),对象序列化和反序列化通过以下两步实现:创建 OutputStream 对象,封装在 Obje...原创 2018-07-28 10:55:28 · 1100 阅读 · 0 评论 -
Java IO系统
Java IO系统File类File类既能代表一个特定文件的名称,又能代表一个目录下的一组文件的名称;还能用来创建新的目录或尚不存在的完整路径。当然,File 也允许我们查看文件的特性(如大小、最后修改日期、读/写),检查某个 File 对象代表的是一个文件还是一个目录,并可以删除文件。下面这段代码通过 File 的 list 操作实现了指定路径的遍历;同时通过指定目录过滤器,实现了对...原创 2018-07-24 19:44:42 · 242 阅读 · 0 评论 -
Java并发(二)——多线程数据共享
Java并发(二)——多线程数据共享Brain的同步规则:如果你正在写一个变量,它可能接下来将被另一个线程读取,或者正在读取一个上一次已经被另一个线程写过的变量,那些你必须使用同步,并且读写线程都必须用相同的监视器同步。这一部分可以先参考https://www.cnblogs.com/dolphin0520/p/3920373.html原子性:对于看似简单的变量操作,在JVM内部可能将...原创 2018-06-19 11:19:24 · 218 阅读 · 0 评论 -
Java并发(四)——并发编程实例
Java并发(四)——并发编程实例本文参考了(https://blog.csdn.net/acm_lkl/article/details/50752343)中的程序。一、银行出纳员仿真问题描述:银行会有很多来办业务的顾客,他们会排队等待服务;对于银行方面他们派出出纳员来服务顾客,如果排队的顾客数量过多,银行就会增加出纳员的数量,如果顾客的数目过少,则减少出纳员的数目;总之要保持一个平衡。仿真思路:...转载 2018-06-22 11:13:09 · 1913 阅读 · 0 评论 -
Java并发(三)——终结任务
Java并发(三)——终结任务对于一般线程的退出通常可以选择设置一个标示位,并在程序运行中不断监测该标示位,如果标示位显示需要退出程序,则通过线程的return退出程序。当时如果程序因为阻塞(sleep,wait,输入输出操作或者synchronized)而停止运行时,标示位将无法被检验,在此时如果希望立刻终止程序,就必须使用中断。但是在使用中断时,一般不建议对Thread对象直接调用interr...原创 2018-06-22 09:34:48 · 248 阅读 · 0 评论 -
Java基础——持有对象(数组与容器)
Java基础——持有对象(数组与容器)~数组当你使用Java编程时,应用“优选容器而不是数组”。只有在已证明容器性能成为问题(并且切换到数组对性能有所帮助)时,你才应该将程序重构为使用数组。初始化:int[] a = {0,1,2,3,4};数组中只包含一个成员变量 .length,来获取数据的大小(这是是数组分配的空间的大小,而不是数组中已赋值的元素的数量)。并且数组只能通过 [] 来访问数组中...原创 2018-06-01 17:30:55 · 809 阅读 · 0 评论 -
Java并发(一)——启动多线程
Java并发(一)——启动多线程实现Runnable接口public class LiftOff implements Runnable{ protected int countDown = 10; private static int taskCount = 0; private final int id = taskCount++; public LiftOff(){} p...原创 2018-06-03 12:04:12 · 273 阅读 · 0 评论 -
Java读取XML实现反射实例
本文参考 https://blog.csdn.net/bjhecwq/article/details/5872960 中的相关程序!实例主要逻辑:HelloWorld.java提供反射机制访问的类test.xml文件给出HelloWorld类的信息Test.java文件读取xml中的类信息,并利用反射机制生成HelloWorld类的实例,并调用其中的方法具体文件如图所示各文件内容如下HelloWo...原创 2018-05-18 11:08:46 · 1809 阅读 · 0 评论 -
《Java编程思想》 第13章 字符串
第13章 字符串1、String对象默认为不可变的,因此任何貌似对String的改变本质都是创建一个新的String对象,并返回它的引用。2、在构建String对象时,由于不断地产生中间的String对象,这样效率极低,因此建议使用StringBuider对象。//: strings/UsingStringBulider.javaimport java.util.*;public class...原创 2018-05-21 21:15:25 · 221 阅读 · 0 评论 -
《Java编程思想》第12章 通过异常处理错误
第12章 通过异常处理错误0、异常层次结构:Throwable---Error(Java运行时系统的内部错误和资源耗尽错误,无需考虑) ---Exception---RuntimeException(程序错误导致的异常)---以上两类并不需要程序员进行处理 ---其他1、异常链示例代码//: e...原创 2018-05-21 19:42:08 · 328 阅读 · 0 评论 -
Java基础——接口
第9章 接口1、抽象类和抽象方法:只给出方法的声明而没有具体实现的方法称为抽象方法,且必须使用abstract描述。拥有抽象方法的类为抽象类,同样必须声明为abstract的。不过允许没有抽象方法但声明为abstract的类。而abstract直接功能就是禁止对应类生成相应对象。2、接口:是一种特殊的抽象类,其所有的方法必须为抽象方法,允许对其进行一切有关抽象类的操作。同时,其允许多重继承,而使其...原创 2018-05-23 12:13:27 · 290 阅读 · 0 评论 -
数据库操作——mybatis
mybatis——数据库操作详细介绍可参考:http://www.ityouknow.com/springboot/2016/11/06/spring-boo-mybatis.htmlmybatis:首先需要创建一个数据库表和与之对应的java类;然后定义一个针对该表对应操作的方法接口,并对接口进行实现,在其中将调用对应****Dao的接口,而Dao的接口将于对应同名xml相关联,而在xml文件中...原创 2018-06-19 11:26:50 · 178 阅读 · 0 评论 -
《Java编程思想》 第5章 初始化与清理
第五章 初始化与清理1、默认情况下编译器会创建一个无参的构造函数,但当手工创建一个后,默认的构造函数将失效。(编译器认为可能是程序员有意不提供无参的构造函数,以免造成错误!)2、重载方法不能使用返回值进行区分。因为有可能存在并没有返回值的函数调用,这样编译器就不知道具体应该调用哪个方法了。3、在类中的函数,编译器默认将该对象的引用(this)作为第一个参数加入到成员方法的参数列表中。当然也能通过r...原创 2018-05-21 19:35:11 · 188 阅读 · 0 评论