首页
关于
留言
归档
动态
友链
推荐
虫洞
开往
憶夣
累计撰写
57
篇文章
累计创建
11
个标签
累计收到
2
条评论
栏目
首页
关于
留言
归档
动态
友链
推荐
虫洞
开往
目 录
CONTENT
Java-憶夣
以下是
Java
相关的文章
2023-04-04
8、脚本、编译与注解处理
八、脚本、编译与注解处理8.1 Java 平台的脚本获取脚本引擎脚本引擎是一个可以执行用某种特定语言编写的脚本的类库。当虚拟机启动时,它会发现可用的脚本引擎。枚举虚拟机中的引擎构造一个 ScriptEngineManager调用 getEngineFactories 方法可以向每个引擎工厂询问它们所
2023-04-04
34
0
0
Java
2023-04-04
7、国际化
七、国际化.md7.1 Locale 对象locale 由5 个部分构成一种语言,由2 个或3 个小写字母表示,例如en (英语)、de (德语)和z h (中文) 。可选的一段脚本,由首字母大写的四个字母表示,例如Latn (拉丁文) 、Cyrl (西里尔文)和Hant (繁体中文字符) 。可选的
2023-04-04
141
0
0
Java
2023-04-04
6、日期和时间API
六、日期和时间API6.1 时间线Java 的Date 和TimeAPI 规范要求Java 使用的时间尺度为:每天86 400 秒每天正午与官方时间精确匹配在其他时间点上,以精确定义的方式与官方时间接近匹配在Java 中, Instant 表示时间线上的某个点。Instant 的值向回可追溯10 亿
2023-04-04
49
0
0
Java
2023-04-04
5、数据库编程
五、数据库编程5.1 JDBC 的设计JDBC 驱动程序类型JDBC 规范将驱动程序驱动程序将JDBC 翻译成ODBC, 然后使用一个ODBC 驱动程序与数据库进行通信。较早版本的Java 包含了一个这样的驱动程序: JDBC/ODBC 桥,不过在使用这个桥接器之前需要对ODBC 进行相应的部署和正
2023-04-04
77
0
0
Java
2023-04-04
4、网络
## 摘要 本文介绍了Java网络编程的核心知识,涵盖客户端与服务器通信的完整流程。 **连接服务器**方面,通过`Socket`类建立TCP连接,利用`setSoTimeout`设置读写超时,并通过无参构造+`connect`方法实现连接超时控制。`InetAddress`类负责主机名与IP地址的互转。 **实现服务器**方面,`ServerSocket`监听端口并通过`accept()`等待客户端连接。为服务多个客户端,文章给出了基于多线程的示例,将每个客户端交由独立线程处理。此外,介绍了**半关闭**机制(`shutdownOutput`/`shutdownInput`),适用于HTTP等一问一答的场景。 **可中断套接字**方面,推荐使用`SocketChannel`替代阻塞式Socket,使通道操作在线程中断时能及时抛出异常,避免无限阻塞。 **获取Web数据**方面,区分了`URI`(纯语法解析)与`URL`(可打开资源流)。`URLConnection`提供了更丰富的控制,包括设置请求头、查询响应头、读写超时等。提交表单数据支持**GET**(参数拼接至URL)和**POST**(通过输出流写入)两种方式,需配合`URLEncoder`进行编码。 总体而言,文章系统梳理了Java网络编程从底层Socket到高层HTTP请求的关键API与最佳实践。
2023-04-04
158
0
0
Java
2023-04-04
3、XML
三、XML3.1 XML 概述HTML 和XML 同宗同源,但是两者之间存在着重要的区别与HTML 不同, XML 是大小写敏感的。例如,<H1> 和<hl>是不同的XML 标签。在HTML 中,如果从上下文中可以分清哪里是段落或列表项的结尾,那么结束标签(如</p&g
2023-04-04
74
0
0
Java
2023-04-04
2、输入与输出
二、输入与输出2.1 输入/输出流读写字节**InputStream ** 类有一个抽象方法 abstract int read() 这个方法将读入一个字节,并返回读入的字节,或者在遇到输入源结尾时返回 -1。**OutputStream **类定义了抽象方法 abstract void write
2023-04-04
66
0
0
Java
2023-04-04
1、Java SE 8的流库
一、Java SE 8的流库1.1 从迭代到流的操作统计单词长度大于12的单词数量List<String> words = ...;// 方法一long count = 0;for (String w : words){ if (w.length() > 12) count+
2023-04-04
75
0
0
Java
2023-04-04
14、并发
## 摘要 本文系统介绍了Java并发编程的核心知识,涵盖线程基础与高级特性。 **线程基础**:讲解了线程的创建(应调用`start()`而非直接调用`run()`)、中断机制(通过`interrupt()`设置中断标志)、六种线程状态(New、Runnable、Blocked、Waiting、Timed Waiting、Terminated)及其转换,以及线程属性(优先级、守护线程、未捕获异常处理器)。 **同步机制**:详述了`ReentrantLock`与`Condition`的使用、`synchronized`关键字及内部锁的原理与局限、`volatile`域和`final`变量的可见性保证、原子变量(如`AtomicLong`、`LongAdder`)、读写锁(`ReentrantReadWriteLock`)、锁测试与超时、`ThreadLocal`线程局部变量,以及死锁问题,并说明了弃用`stop`和`suspend`方法的原因。 **并发工具**:介绍了阻塞队列(如`ArrayBlockingQueue`、`LinkedBlockingQueue`等)用于线程间安全数据传递;`java.util.concurrent`包中的高效线程安全集合(如`ConcurrentHashMap`及其原子更新、批操作方法);`Callable`与`Future`用于获取异步任务结果;执行器(`Executor`)框架实现线程池管理,包括缓存池、固定大小池、预定执行、任务组控制、Fork-Join框架和`CompletableFuture`异步编程;以及同步器(信号量`Semaphore`、倒计时门栓`CountDownLatch`、障栅`CyclicBarrier`、交换器`Exchanger`、同步队列)用于协调线程间的协作。 整体而言,文章全面覆盖了Java并发编程从底层线程管理到高层并发工具的使用方法与最佳实践。
2023-04-04
63
0
0
Java
2023-04-04
9、集合
## 摘要 本文系统介绍了Java集合框架的核心知识,涵盖六大主题: **1. 集合框架架构**:框架的核心思想是将接口与实现分离,基础接口为Collection和Map。Iterator迭代器用于遍历集合,支持forEach循环和lambda表达式。集合类层次包括List(有序)、Set(不重复)和Map(键值对)等接口。 **2. 具体集合实现**:LinkedList适用于频繁插入删除,ArrayList适用于随机访问;HashSet基于散列表实现高效查找;TreeSet基于红黑树提供有序集合;ArrayDeque和LinkedList实现双端队列;PriorityQueue基于堆结构实现优先级排序。 **3. 映射**:HashMap和TreeMap是两种主要实现,Java 8新增了merge、compute等方法简化映射更新。WeakHashMap使用弱引用管理键,LinkedHashMap可按插入或访问顺序迭代,支持LRU缓存实现;EnumSet和EnumMap为枚举类型提供高效实现。 **4. 视图与包装器**:包括轻量级包装器(Arrays.asList、nCopies等)、子范围视图、不可修改视图、同步视图和受查视图,它们包装底层集合而非复制数据。 **5. 算法**:Collections类提供排序(归并排序)、混排、二分查找、批操作等实用算法。 **6. 遗留集合**:包括Vector、Hashtable、Properties、Stack和BitSet等,其中Properties支持文件读写,BitSet高效存储位序列。
2023-04-04
102
0
0
Java
1
2
3
4