Java
Java语言的基础知识
superfreak
知到极处便是行,行到极处便是知。我写博客的目的就是希望达到**行到极处便是知**
初级程序员一个,喜欢写HelloWorld。
学习过的语言按照时间排序为:C、C++、VB、C#、Java、Javascript、SQL、HTML、CSS、Python。
都不精通,都稀松平常,我继续努力,早日月薪5万!
展开
-
Java 核心技术(第八版)卷II:高级知识:例1-3P29ZipTest
本例子使用ZipInputStream 和ZipOutputStream来读和写zip文件。原创 2022-06-25 21:22:52 · 88 阅读 · 0 评论 -
Java 核心技术(第八版)卷II:高级知识:例1-2P25RandomFileTest
本例子演示读写二进制数据,使用DataOutput接口:DataOutputStream类实现了DataOutput接口使用了DataInput接口:DataInputStream类实现了DataInput接口。RandomAccessFile类可以在文件中的任何位置查找或者写入数据。...原创 2022-06-22 11:37:13 · 70 阅读 · 0 评论 -
Java 核心技术(第八版)卷II:高级知识:例1-1P14TextFileTest
本程序实现了 把 雇员类的 写入到文件中,以及从文件中读取数据形成雇员类数组。原创 2022-06-21 13:47:51 · 70 阅读 · 0 评论 -
Java 核心技术(第八版)卷1:基础知识:例14-8P641SynchBank_UseLockTest
例子或者说项目的名字是我自己取的,这个例子和前一个文章的例子是一个例子,只不过是使用了锁来防止出现混乱,这样就不会出现银行的金钱总额出错的情况了。类 入口类,这个也没有发生改变,但是项目不同,所以类名字有所改变。类Bank 发生了改变,添加了私有对象bankLock 和 条件对象sufficientFunds;...原创 2022-06-12 16:23:45 · 86 阅读 · 0 评论 -
Java 核心技术(第八版)卷1:基础知识:例14-5P632UnsynchBankTest
这个例子是要说明当多个线程访问同一个数据的时候,会出错。原来是while(true)这样会导致程序一直运行,我改为了 运行100 次,已经可以看出来这个时候就已经出错了。运行结果(100个结果,我只截取了片段):所有Balance 不是10000的 都是出错的...原创 2022-06-11 19:35:22 · 88 阅读 · 0 评论 -
Java 核心技术(第八版)卷1:基础知识:例14-4P620BounceThread
Bounce类变成了BounceThread类,其他两个类都是和例子14-1是一样的,上一篇博文里面有代码,这里就不重复了。 运行结果 这个时候点击一下Start,就会出现要给小球。原创 2022-06-05 17:20:41 · 98 阅读 · 0 评论 -
Java 核心技术(第八版)卷1:基础知识:例14-1P615Bounce
这个程序运行起来就是一个窗口,点击开始就出现一个球,开始跳动,然而只能添加一个球,一共就两个球,这个时候只有一个球可以移动。代码如下:Bounce.java: 这里是主程序import java.awt.*;import java.awt.event.*;import javax.swing.*;//本程序演示 一个球弹跳的动画public class Bounce { public static void main(String[] args) { E原创 2022-05-23 20:23:41 · 217 阅读 · 0 评论 -
Java 核心技术(第八版)卷1:基础知识:例13-5P582MapTest
import java.util.*;//本程序演示 map 的使用,它的key 是 String,值是Employee类型public class MapTset { public static void main(String[]args) { Map<String,Employee> staff=new HashMap<String,Employee>(); staff.put("144-25-5464",new Emplo.原创 2022-05-14 20:59:08 · 136 阅读 · 0 评论 -
Java 核心技术(第八版)卷1:基础知识:例13-4P580PriorityQueueTest
优先级队列中的元素可以按照任意的顺序插入,却总是按照排序的顺序进行检索。迭代的时候,并不是按照元素的排列顺序访问的。而删除却总是删除剩余元素中优先级最小的那个元素。import java.util.*;//本程序演示了优先级队列:优先级队列中的元素可以按照任意的顺序插入,却总是按照排序的顺序进行检索//也就是说无论何时调用remove方法,总会获得当前优先级队列中最小的元素。public class PriorityQueueTest { public static void m..原创 2022-05-14 19:00:36 · 99 阅读 · 0 评论 -
Java 核心技术(第八版)卷1:基础知识:例13-3P576TreeSetTest
//本程序创建了两个item 对象的树集,// 第一个按照部件编号排序,这是item对象的默认排序顺序,//第二个使用一个定制的比较器来按照描述信息排序import java.util.*;//本程序创建了两个item 对象的树集,第一个按照部件编号排序,这是item对象的默认排序顺序,// 第二个使用一个定制的比较器来按照描述信息排序public class TreeSetTest { public static void ..原创 2022-05-14 10:46:03 · 72 阅读 · 0 评论 -
Java 核心技术(第八版)卷1:基础知识:例13-2P572SetTest
这个程序用来讲解散列集合,运行的时候程序将读取输入的所有单词,并且将他们添加道散列集中。然后遍历散列集中的不同单词。最后打印出单词的数量。我实际运行这个程序的时候是出错了,不知道为什么,个人感觉这个程序也不太好,感觉作者有点敷衍的感觉呢。import java.util.*;//本程序使用一个set 来打印 来自于System.in 的文本中所有的 唯一的单词public class SetTest { public static void main(String[] args)原创 2022-05-13 18:01:03 · 165 阅读 · 0 评论 -
Java 核心技术(第八版)卷1:基础知识:例13-2P567LinkedListTest
import java.util.*;//本程序演示了 链表的基础操作public class LinkedListTest { public static void main(String[] args) { List<String> first_list=new LinkedList<String>(); first_list.add("Amy"); first_list.add("Carl"); .原创 2022-05-12 20:15:47 · 141 阅读 · 0 评论 -
Java 核心技术(第八版)卷1:基础知识:例11-2P498LoggingImageViewer
这是一个应用窗口,可以打开一个gif图片,并且浏览显示出来,同时还有另外一个窗体负责日志的记录,挺好玩的。import java.awt.*;import java.awt.event.*;import java.io.*;import java.util.Locale;import java.util.logging.*;import javax.swing.*;//一个image viewer 程序的修改版,可以记录多个事件public class LoggingImage原创 2022-05-11 10:03:25 · 119 阅读 · 0 评论 -
Java 核心技术(第八版)卷1:基础知识:例11-1P482StackTraceTest
import java.util.*;import java.util.Scanner;//本程序显示 递归方法调用的 trace 特性public class StackTraceTest { //计算某个数字的阶乘 public static int factorial(int n) { System.out.println("factorial("+n+"):"); Throwable t=new Throwable(); .原创 2022-05-10 12:57:24 · 107 阅读 · 0 评论 -
Java 核心技术(第八版)卷1:基础知识:例6-6P232StaticInnerClassTest
这个就演示了一种工具类的具体做法,可以在工作中这么来开发工具类。import java.awt.*;import java.awt.event.*;import java.util.*;import javax.swing.*;import javax.swing.Timer;//本程序演示 静态內部类,有些程序员用嵌套类来表示静态內部类//注意:声明在接口中的内部类自动成为static 和 publicpublic class StaticInnerClassTest { pu原创 2022-05-09 07:29:43 · 847 阅读 · 0 评论 -
Java 核心技术(第八版)卷1:基础知识:例6-5P230AnonmousInnerClassTest
本程序演示了 匿名內部类的使用。import java.awt.*;import java.awt.event.*;import java.util.*;import javax.swing.*;import javax.swing.Timer;//本程序演示 匿名內部类,使用这个匿名类的好处就是减少了一些代码量,但是 有点让人难以理解。public class AnonymousInnerClassTest { public static void main(String []原创 2022-05-08 11:56:18 · 43 阅读 · 0 评论 -
Java 核心技术(第八版)卷1:基础知识:例6-4P222InnerClassTest
这个例子中,TimePrinter类位于类TalkingClock的內部,它有很大的访问权限,既可以访问自己的成员变量,也可以访问它外面的类的成员。import java.awt.*;import java.awt.event.*;import java.util.*;import javax.swing.*;import javax.swing.Timer;//本程序演示內部类的使用public class InnerClassTest { public static void原创 2022-05-06 16:39:21 · 381 阅读 · 0 评论 -
Java 核心技术(第八版)卷1:基础知识:例6-3P218TimerTest
6.3这个部分讲的是接口和回调当到达指定的时间间隔之后,定时器就调用actionPerformed方法import java.awt.*;import java.awt.event.*;import java.util.*;import javax.swing.*;import javax.swing.Timer;//避免和 java.util.Timer 冲突public class TimerTest { public static void main(String[] ar原创 2022-05-06 12:37:42 · 443 阅读 · 0 评论 -
Java 核心技术(第八版)卷1:基础知识:例6-2P215CloneTest
import java.lang.constant.Constable;import java.util.*;//本程序演示了克隆 功能 Cloningpublic class CloneTest { public static void main(String []args) { try { Employee original=new Employee("John Q.Public",50000); .原创 2022-05-06 12:02:11 · 373 阅读 · 0 评论 -
Java 核心技术(第八版)卷1:基础知识:例5-8P196EmployeeSortTest
本例子是说:要想使用Arrays 类的 sort() 功能,就必须实现 Comparable<T> 接口,然后自己写一个compareTo()方法,代码如下:import java.util.*;public class EmployeeSortTest{ public static void main(String [] args) { Employee_from_interface[] staff=new Employee_from_inter原创 2022-05-04 12:08:10 · 221 阅读 · 0 评论 -
Java 核心技术(第八版)卷1:基础知识:例5-8P196ArrayGrowTest
import java.lang.reflect.*;//本程序演示了用反射来操纵数组public class ArrayGrowTest { public static void main(String[] args) { int[] a={1,2,3}; a=(int[]) goodArrayGrow(a); arrayPrint(a); String [] b={"Tom","Dick","Harry"}; .原创 2022-05-02 18:47:26 · 677 阅读 · 0 评论 -
Java 核心技术(第八版)卷1:基础知识:例5-7P193ObjectAnalyzerTest
这个程序我实现了,但是运行不了,有问题。留待这里的大佬们给看看。import java.lang.reflect.*;import java.util.*;//本程序演示 使用反射来在对象上从事间谍活动,刺探一些关于object的信息public class ObjectAnalyzerTest { public static void main(String [] args) { ArrayList<Integer> squares=new Arra原创 2022-05-02 17:40:29 · 729 阅读 · 1 评论 -
Java 核心技术(第八版)卷1:基础知识:例5-6P187ReflectionTest
这个程序对于学习 反射挺有用的,建议好好琢磨琢磨研究研究。import java.util.*;import java.lang.reflect.*;//本程序使用反射来打印出一个类的所有 featurespublic class ReflectionTest { public static void main(String [] args) { //从命令行参数或者用户输入中 读取类名 String name; if(args.l原创 2022-05-01 19:12:49 · 72 阅读 · 0 评论 -
Java 核心技术(第八版)卷1:基础知识:例5-4P175ArrayTest
import java.util.*;//本程序演示的是ArrayList 类的用法,该类是泛型类,里面 可以装 泛型的类,它主要是动态数组的能力,可以用 add remove set 等方法public class ArrayListTest { public static void main(String [] args) { //构建一个Manager 对象 //Employee[] staff=new Employee[3]; .原创 2022-05-01 09:25:50 · 127 阅读 · 0 评论 -
Java 核心技术(第八版)卷1:基础知识:例5-3P168
import java.util.*;//本程序演示的是:Equals() 方法 ,hashcode()方法,toString() 方法public class EqualsTest{ public static void main(String [] args) { Employee alice1=new Employee("Alice Adams",75000,2010,12,15); Employee alice2=alice1; .原创 2022-04-30 14:12:45 · 627 阅读 · 0 评论 -
Java 核心技术(第八版)卷1:基础知识:抽象类例5-2P158
import java.util.Date;import java.util.GregorianCalendar;//本程序演示抽象类public class PersonTest{ public static void main(String [] args) { Person[] people=new Person[2]; //用 employee 和 student 填充这个数组 people[0]=new Employee(".原创 2022-04-30 10:02:29 · 134 阅读 · 0 评论 -
Java 核心技术(第八版)卷1:基础知识:继承P147
import java.util.*;//本程序演示的是继承public class ManagerTest { public static void main(String [] args) { //构建一个Manager 对象 Manager boss=new Manager("SpringLee",100000,2022,5,6); boss.setBonus(5000); Employee[] staff=new .原创 2022-04-30 08:02:30 · 119 阅读 · 0 评论 -
Java 核心技术(第八版)卷1:基础知识:枚举P182
import java.util.*;public class EnumTest { public static void main(String [] args) { Scanner in=new Scanner(System.in); System.out.print("Enter a size:(SMALL,MEDIUM,LARGE,EXTRA_LARGE)"); String input=in.next().toUpperCase(.原创 2022-04-29 15:08:19 · 566 阅读 · 0 评论 -
疯狂Java讲义:P200接口
接口 Outputpackage lee;public interface Output { //接口里定义的成员变量只能是常量 int MAX_CACHE_LINE=50; //接口里定义的只能是public的抽象方法 void out(); void getData(String msg); //在接口中定义默认方法,需要使用default default void print(String... msgs) { for.原创 2022-04-26 18:07:02 · 376 阅读 · 0 评论 -
疯狂Java讲义P179单例
public class Singleton { //使用一个类变量来缓存曾经创建的实例 private static Singleton instance; //对构造器使用private修饰符,隐藏该构造器 private Singleton (){} //提供一个静态方法,用于返回Singleton实例 //该方法可以加入自定义控制,保证只产生一个Singleton对象 public static Singleton getInstance().原创 2022-04-26 11:31:45 · 232 阅读 · 0 评论 -
Java9 编程参考官方大全(第10版)第18章:探究Java.long:18.7.3环境属性
暂时无原创 2021-07-19 11:10:53 · 55 阅读 · 0 评论 -
Java9 编程参考官方大全(第10版)第17章:字符串处理(略)
这个内容比较熟悉,不写了就。略过原创 2021-07-14 11:26:44 · 56 阅读 · 0 评论 -
Java9 编程参考官方大全(第10版)第16章 :模块(略)
本章略,无实际内容。因为在实际中,模块这个好像没有啥用处,就没学。原创 2021-07-14 11:24:59 · 49 阅读 · 0 评论 -
Java9 编程参考官方大全(第10版)第15章 lambda表达式:15.4作为参数传递lambda表达式
源代码如下:interface StringFunc { String func(String n);}public class LambdaAsArgumentsDemo { //This method has a functional interface as the type of its first parameter. //这个方法有一个函数式接口,作为它的第一个参数 //Thus,it can be passed a reference to any instance of原创 2021-07-13 15:13:50 · 94 阅读 · 0 评论 -
Java9 编程参考官方大全(第10版)第15章 lambda表达式:15.1.3几个lambda表达式示例
先来学习概念为了理解lambda表达式的Java实现,需要先搞懂两个结构:1是lambda表达式自身,2是函数式接口。1是lambda表达式自身lambda表达式就是一个匿名方法(即未命名),这个方法不是独立执行的,是用于实现由函数式接口定义的另一个方法。因此lambda表达式会导致生成一个匿名类,lambda表达式也被成为闭包。lambda表达式引入了新的操作符:->,有时被称之为lambda操作符,或者箭头操作符,它将lambda表达式分为两个部分:左侧和右侧。箭头左侧制定了表原创 2021-07-13 14:15:29 · 105 阅读 · 0 评论 -
Java9 编程参考官方大全(第10版)第14章 泛型:14.2.3泛型提高了类型安全性的原理NonGen类和NonGenDemo类
源代码如下:NonGen.java 文件内容://14.2.3 泛型提升类型安全性的原理//NonGen is functionally equivalent to Gen but does not use generics public class NonGen { Object ob;//ob is now of type Object //Pass the constructor a reference to an object of type Object NonGen(Ob原创 2021-07-12 15:44:45 · 72 阅读 · 0 评论 -
Java9 编程参考官方大全(第10版)第14章 泛型:14.2一个简单的示例
源代码如下:// A simple generic class.一个简单的泛型类//Here ,T is a type parameter that will be replaced by a real type //在这里,T是一个类型参数,它会被一个真正的类型所替代//when an object of type Gen is created //当一个Gen 类型的对象被创建的时候,//T是一个类型参数,当一个Gen 类型的对象被创建的时候,T会被一个真正的类型所替代 class G原创 2021-07-12 14:10:45 · 74 阅读 · 0 评论 -
Java9 编程参考官方大全(第10版)第13章:IO_Try和其他主题13.5读写文件
源代码如下://display a text file //specify the file name // follow the command of below // cmd//java ShowFile test.txtimport java.io.*;public class ShowFile { ///////////////////// public static void main(String args[]) { // TODO Auto-generated m原创 2021-07-09 16:44:01 · 85 阅读 · 0 评论 -
Java9 编程参考官方大全(第10版)第13章:IO_Try和其他主题13.2.1读取字符
源代码如下://Use a BufferedReader to read characters from the consoleimport java.io.*;public class BRRead { public static void main(String[] args) throws IOException{ // TODO Auto-generated method stub char c; BufferedReader br=new BufferedReader(n原创 2021-07-09 14:20:40 · 79 阅读 · 0 评论 -
Java9 编程参考官方大全(第10版)第12章:枚举自动装箱与注解12.4.3在运行时候使用反射获取注解:获取所有注解
源代码如下://show all annotations for a class and a methodimport java.lang.annotation.*;import java.lang.reflect.*;////注意本例子是原书第207页面:获取所有注解的代码。 @Retention(RetentionPolicy.RUNTIME)@interface MyAnno2{ String str(); int val();}@Retention(RetentionP原创 2021-07-09 11:17:42 · 69 阅读 · 0 评论