随笔分类 -  Java基础

摘要:Jshell 从java9开始,java提供Jshell工具,可以输入代码片段并马上看到运行结果。 对于简单的Java语句测试,不需要新建文件,编译,运行了 注意:jshell中有代码提示:Tab键 输入Sys,按下Tab,会自动补全System,输入.o再按Tab,会进一步提示。 jshell默认 阅读全文
posted @ 2019-07-14 01:00 虎老狮 阅读(1442) 评论(0) 推荐(0)
摘要:Stream流 Java 8 API添加了一种新的机制——Stream(流)。Stream和IO流不是一回事。 流式思想:像生产流水线一样,一个操作接一个操作。 使用Stream流的步骤:数据源→转换成流→操作1→操作2→…… 数据源(source):可以是集合、数组等。 Stream操作有两个基础 阅读全文
posted @ 2019-07-14 00:59 虎老狮 阅读(503) 评论(0) 推荐(0)
摘要:方法引用 Lambda表达式的代码,是否可以再简洁?——方法引用 对象/类名::方法名 参数都不用写明。 引用普通方法和静态方法 引用父类方法(super)和自身方法(this) 引用构造方法(实例化对象) 阅读全文
posted @ 2019-07-14 00:57 虎老狮 阅读(300) 评论(0) 推荐(0)
摘要:Lambda表达式 Java8引入Lambda表达式,可以使代码更简洁。 格式:参数,箭头,代码 Lambda表达式体现了“函数式编程思想”—— 面向对象的思想:找一个能解决问题的对象,调用对象完成事情。 函数式编程思想:只要结果,不管过程,不在乎是谁做、怎么做。 Lambda表达式的前提——函数式 阅读全文
posted @ 2019-07-14 00:56 虎老狮 阅读(506) 评论(0) 推荐(0)
摘要:解析注解 Java 5开始,java.lang.reflect包下的反射API可以在运行时读取Annotation。 应用:定义一个自动执行方法的注解,解析注解、通过反射执行方法,替代配置文件。 例:使用注解进行方法测试 注解传入的变量:B 方法public static void ah.AnnoT 阅读全文
posted @ 2019-07-14 00:51 虎老狮 阅读(239) 评论(0) 推荐(0)
摘要:注解 JDK 5开始,Java支持注解。 注解,Annotation,是一种代码里的特殊标记,这些标记可以在编译、类加载、运行时被读取并执行,而且不改变原有的逻辑。 注解可以用于:生成文档、编译检查、代码分析。 | 基本注解 | | | | | | @Override | 方法重写、方法覆盖 | | 阅读全文
posted @ 2019-07-14 00:50 虎老狮 阅读(213) 评论(0) 推荐(0)
摘要:读取XML文件,创建对象 config.xml 阅读全文
posted @ 2019-07-14 00:49 虎老狮 阅读(1384) 评论(0) 推荐(0)
摘要:案例:根据配置文件,实例化对象 src下创建一个“配置文件”config.txt,内容如下: 阅读全文
posted @ 2019-07-14 00:48 虎老狮 阅读(1168) 评论(0) 推荐(0)
摘要:Java反射机制 Java反射机制是Java语言的一个重要特性,使得Java语言具备“动态性”: 在运行时获取任意一个对象所属的类的相关信息; 在运行时构造任意一个类的对象; 在运行时获取任意一个类所具有的成员变量和方法; 在运行时调用任意一个对象的方法。 JAVA反射机制是构建框架技术的基础。 例 阅读全文
posted @ 2019-07-14 00:47 虎老狮 阅读(378) 评论(0) 推荐(0)
摘要:反射的基础: java.lang.Class Class类的实例对象,用于记录类描述信息。 源码说:represent classes and interfaces in a running Java application Class类没有公共的构造方法,无法通过new运算符实例化;只能通过对象的 阅读全文
posted @ 2019-07-14 00:44 虎老狮 阅读(1509) 评论(0) 推荐(0)
摘要:内部类 内部类(inner class)是定义在另一个类中的类 内部类的好处: | 1.隐藏机制:内部类封装性更好,隐藏在一个类之中,同一包中的其他类也不能访问 | 2.内部类可以访问外围类的私有数据 成员内部类 member inner class 可以访问外部类的所有成员变量和方法(无论静态、非 阅读全文
posted @ 2019-07-14 00:43 虎老狮 阅读(5718) 评论(0) 推荐(0)
摘要:枚举类型 枚举类型在JDK 5时引入。 Java的枚举类java.lang.Enum中,有: | private final String name;(定义时可表意的标识符) | private final int ordinal;(序数,从0开始) | 及对应的获取方法。 枚举类型标识符:FRID 阅读全文
posted @ 2019-07-14 00:39 虎老狮 阅读(883) 评论(0) 推荐(0)
摘要:垃圾回收机制 Garbage Collection,GC 垃圾回收是Java的重要功能之一。 | 堆内存:垃圾回收机制只回收堆内存中对象,不回收数据库连接、IO等物理资源。 | 失去使用价值,即为垃圾:当一个对象不再被引用的时候,就称为垃圾。 | 无法控制:垃圾回收的时间无法控制,系统会在“合适的时 阅读全文
posted @ 2019-07-14 00:38 虎老狮 阅读(322) 评论(0) 推荐(0)
摘要:JUnit JUnit是一个Java的单元测试工具。 import org.junit.Test; @Test TDD(测试驱动开发) Test Driven Development。 先用 junit 写测试,然后再写代码; 写完代码,运行测试,如果测试失败,修改代码,运行测试……直到测试成功。 阅读全文
posted @ 2019-07-14 00:38 虎老狮 阅读(1238) 评论(0) 推荐(0)
摘要:UDP:User Datagram Protocol,用户数据报协议 服务端: 客户端: 阅读全文
posted @ 2019-07-14 00:37 虎老狮 阅读(552) 评论(0) 推荐(0)
摘要:浏览器发送请求,用Java模拟写个简单的服务器,浏览器可以收到响应。 执行下列代码(设置static final int TEST = 1), 服务器会打印如下代码,这就是浏览器请求的内容: GET /tigerlion/index.html HTTP/1.1 Accept: text/html, 阅读全文
posted @ 2019-07-14 00:35 虎老狮 阅读(478) 评论(0) 推荐(0)
摘要:Socket通常也称作“套接字”,用于描述IP地址和端口,可以用来实现不同虚拟机或不同计算机之间的通信。 ——百度百科 套接字允许应用程序插入到网络中,并与插入到网络中的其他应用程序通信。 ——《TCP/IP Socket编程·TCP/IP in C》 Socket编程示意图: 服务器需要先启动,等 阅读全文
posted @ 2019-07-14 00:33 虎老狮 阅读(3445) 评论(0) 推荐(0)
摘要:JAVA访问网页 分别测试使用get和post方法访问网页,可以收到服务器的请求,并写入到html文件中。 还可以自己写个Servlet测试服务器端是否接收到参数: JAVA多线程下载网络文件 URLEncoder和URLDecoder 在使用百度搜索关键字的时候,往往会在地址栏看到如下内容: 有的 阅读全文
posted @ 2019-07-14 00:31 虎老狮 阅读(2596) 评论(0) 推荐(0)
摘要:协议 计算机网络中的通信必须有一些约定,这些约定称为“通信协议”。 通信协议规定了传输速率、传输代码、代码结构、传输控制步骤、出错控制等处理的标准。 通信协议中有两个重要的协议,IP协议和TCP协议。 IP协议:Internet Protocol,互联网协议,又称网际协议。 TCP协议:Transm 阅读全文
posted @ 2019-07-14 00:28 虎老狮 阅读(662) 评论(0) 推荐(0)
摘要:线程通信:等待、唤醒 | Object方法 | 这些方法在拥有资源时才能调用 | | | | | notify | 唤醒某个线程。唤醒后不是立马执行,而是等CPU分配 | | wait | 等待,释放锁,不占用CPU资源 | | notifyAll | 唤醒全部等待的线程 | 重点:资源的有效利用 阅读全文
posted @ 2019-07-14 00:23 虎老狮 阅读(184) 评论(0) 推荐(0)