
Java
文章平均质量分 90
_waylau
大道至简! https://waylau.com/
展开
-
Java/JDK 21正式发布!15个特性一览
JDK 21已经于2023年9月19日正式发布。本文总结了JDK 21发布的新特性。原创 2023-09-20 14:06:31 · 11022 阅读 · 3 评论 -
从Java 8升级到Java 11的注意事项
虽然Java最新版本已经发展到Java 18了,但市面上大部分的项目还在使用Java 8。由于从Java 8之后,Java API不一定向前兼容,因此很多人都对升级Java版本心存顾虑。Java 11是Java 8的下一个长期支持版本,毫无疑问Java 11比Java 8更加优秀。本文介绍了将代码从 Java 8 转换到 Java 11用到的检查代码工具,还介绍了可能遇到的问题以及解决这些问题的建议。为什么需要Java 11Java 11是Java 8的下一个长期支持版本,这意味着Java 8不再受到原创 2022-04-19 19:31:43 · 3156 阅读 · 0 评论 -
Java下一代高并发技术——虚拟线程“JEP 425: Virtual Threads (Preview)”
很多语言都有类似于“虚拟线程”的技术,比如Go、C#、Erlang、Lua等,他们称之为“协程”。 不管是虚拟线程还是协程,他们都是轻量级线程,其目的都是为了提高并发能力。本节详细介绍Java平台的“虚拟线程”的技术——“JEP 425: Virtual Threads (Preview)”。Java平台计划引入虚拟线程,可显著减少编写、维护和观察高吞吐量并发应用程序的工作量。“JEP 425: Virtual Threads (Preview)”目是一个预览性的API。目标使以简单的线程每请求风原创 2022-04-13 19:39:37 · 2221 阅读 · 0 评论 -
JDK18已经发布9大特性之JEP 400默认为UTF-8
JDK 18概述JDK 18是Java SE平台版本18的开源参考实现,如JSR 393在Java社区进程中。 JDK 18在2022年3月22日正式发布。特性400: 默认UTF-8408: 简单Web服务器413: Java API文档中的代码段416: 使用方法句柄重新实现核心反射417: Vector API(第三个孵化器)418: 互联网地址解析SPI419: 外部函数和内存API(第二个孵化器)420: switch的模式匹配(第二次预览)421: 不原创 2022-04-08 08:50:13 · 1026 阅读 · 0 评论 -
《数据结构和算法基础(Java语言实现)》学习笔记
《数据结构和算法基础(Java语言实现)》一书由北京大学出版社出版,已经于近日上市。拿到了样书,第一时间希望与读者朋友们分享下这本书里面的内容。为啥要写这本书12月6日拿到了样书,迫不及待的对新书做了浏览。同时也做了拆书与导读,可以在B站找到:https://www.bilibili.com/video/BV1fY411s7Kr/]聊下为啥要写这本书。其实,这本是我所编写过的书目(https://waylau.com/books/)里面,算是最为“低级”的课题了吧,毕竟谁不知道“数据结构和算法”呢原创 2021-12-07 00:22:19 · 428 阅读 · 0 评论 -
一文总结Java\JDK 17发布的新特性
JDK 17已经于2021年3月16日如期发布。本文介绍JDK 17新特性。JDK 17于2021年9月14日正式发布(General-Availability Release)。JDK 17将是大多数供应商的长期支持(LMS)版本。上一个LTS版本是JDK 11。本文总结了JDK 17发布的新特性。发布版本说明根据发布的规划,这次发布的 JDK 17 将是一个长期支持版(LTS 版)。LTS 版每 3 年发布一个,上一次长期支持版是 18 年 9 月发布的 JDK 11。JDK 17是Java S原创 2021-09-16 22:36:18 · 1269 阅读 · 0 评论 -
JDK 16发布,新特性一览
JDK 16已经于2021年3月16日如期发布。本文介绍JDK 16新特性。发布版本说明根据发布的规划,这次发布的 JDK 16 将是一个短期的过度版。下一个长期支持版(LTS 版)会在今年的 9 月份候发布(Java 17),LTS 版每 3 年发布一个,上一次长期支持版是 18 年 9 月发布的 JDK 11。JDK 16是Java SE平台版本16的开源参考实现,由JSR 390在JCP(Java Community Process)指定。安装包下载主要分为OpenJDK版本和Oracle版原创 2021-03-18 21:19:57 · 2294 阅读 · 1 评论 -
Java陷阱——慎用入参做返回值
正常情况下,在Java中入参是不建议用做返回值的。除了造成代码不易理解、语义不清等问题外,可能还埋下了陷阱等你入坑。问题背景比如有这么一段代码:@Namedpublic class AService { private SupplyAssignment localSupply = new SupplyAssignment(); @Inject private BService bervice; public List<Supply> calcSupplyA原创 2020-12-02 23:42:59 · 996 阅读 · 0 评论 -
记录一个Java三元表达式中的陷阱
今天遇到一个奇怪的Java三元表达式中的空指针异常。特此记录。代码代码示意如下:Integer itemVO = null;Integer globleLatenessToleranceUseAlternate = null;Integer latenessToleranceUseAlternate = (itemVO == null ? globleLatenessToleranceUseAlternate : itemVO.intValue());从上面代码可以看出:当itemVO原创 2020-11-11 23:47:37 · 309 阅读 · 0 评论 -
JDK 15安装及新特性介绍
JDK 15已经于2020年9月15日如期发布。本文介绍JDK 15新特性。发布版本说明根据发布的规划,这次发布的 JDK 15 将是一个短期的过度版,只会被 Oracle 支持(维护)6 个月,直到明年 3 月的 JDK 16 发布此版本将停止维护。而 Oracle 下一个长期支持版(LTS 版)会在明年的 9 月份候发布(Java 17),LTS 版每 3 年发布一个,上一次长期支持版是 18 年 9 月发布的 JDK 11。 下图展示了各个版本的发布历史。[外链图片转存失败,源站可能有防盗链机制原创 2020-09-23 00:21:01 · 2216 阅读 · 0 评论 -
Java开发仍然是主流,一起学《Java核心编程》
本文介绍了Java的发展趋势,并阐述了如何学习Java技术。Java为啥火爆?随着互联网应用的发展,各种编程语言层出不穷,比如C#、Golang、TypeScript、ActionScript等,但不管是哪种语言,都无法撼动Java的“霸主”地位。Java语言始终占据着各类编程语言排行榜的榜首,开发者对于Java的热情也是与日俱增。Java已然成为了企业级应用、云计算和Cloud Native应用的首选语言。图1-1展示的是1985年至2020年TIOBE编程语言排行榜情况(https://www.t原创 2020-05-20 23:00:07 · 308 阅读 · 2 评论 -
JDK 14如期发布,16个新特性快速预览
JDK 14已经于2020年3月17日如期发布。本文介绍JDK 14特性。JEP 305: instanceof的模式匹配(预览)通过对instanceof运算符进行模式匹配来增强Java编程语言。 模式匹配允许程序中的通用逻辑,即从对象中有条件地提取组件,可以更简洁,更安全地表示。 这是JDK 14中的预览语言功能。动机几乎每个程序都包含某种逻辑,这些逻辑结合了对表达式是否具有某种类型或...原创 2020-03-18 08:44:17 · 8101 阅读 · 0 评论 -
MINA 快速入门
同步至:http://www.waylau.com/mina-quick-start/Apache MINA 是一个网络应用的框架,可以帮助用户开发的高性能、高扩展性的网络应用程序。它通过 Java NIO 提供了一个抽象的事件驱动的异步 API 用在不同传输协议上,比如 TCP/IP 和 UDP/IP 等。本教程介绍了如何构建基于 MINA 的应用的过程。这个教程介绍的是构建一个 Time Server原创 2015-04-05 13:47:04 · 1404 阅读 · 0 评论 -
Java switch 语句使用 String 参数
原文同步至 http://www.waylau.com/java-switch-use-string/当我尝试在 switch 语句使用 String 参数时(注意ctrType为字符串) switch (ctrType) { case "01" : exceptionType = "读FC参数数据"; break; case "03" :原创 2015-04-10 20:43:57 · 6517 阅读 · 0 评论 -
MINA 实现聊天功能
原文同步至 http://www.waylau.com/mina-chat/在《MINA 快速入门》一文中,我们介绍了如何利用 MINA 快速构建一个 Time Server(时间服务器)。在《Netty 实现聊天功能》一文,我们也介绍了如何用 Netty 实现聊天功能。由于 MINA 和 Netty 是同一个作者,架构类似,如果你掌握其中一个,学习另外一个也不是难事。现在我们就用 MINA 来实现原创 2015-04-13 09:22:24 · 3779 阅读 · 0 评论 -
Java 编程要点之 I/O 流详解
本文详细介绍了 Java I/O 流的基础用法和原理。原创 2016-01-19 12:48:34 · 1627 阅读 · 0 评论 -
Java 编程要点之并发(Concurrency)详解
本文详细介绍了 Java 并发(Concurrency)的基础用法和原理。原创 2016-01-22 13:20:02 · 11397 阅读 · 0 评论 -
用Jersey构建RESTful服务7--Jersey+SQLServer+Hibernate4.3+Spring3.2
用 Jersey 构建 RESTful 服务中,如何集成 Spring3原创 2016-01-25 20:00:01 · 2342 阅读 · 2 评论 -
Java I/O 模型的演进
什么是同步?什么是异步?阻塞和非阻塞又有什么区别?本文先从 Unix 的 I/O 模型讲起,介绍了5种常见的 I/O 模型。而后再引出 Java 的 I/O 模型的演进过程,并用实例说明如何选择合适的 Java I/O 模型来提高系统的并发量和可用性。原创 2016-03-01 21:17:12 · 2090 阅读 · 0 评论 -
在 JDK 9 中更简洁使用 try-with-resources 语句
本文详细介绍了自 JDK 7 引入的 try-with-resources 语句的原理和用法,以及介绍了 JDK 9 对 try-with-resources 的改进,使得用户可以更加方便、简洁的使用 try-with-resources 语句。原创 2016-02-03 22:40:41 · 2898 阅读 · 0 评论 -
Mockito 简明教程
Mock 测试是单元测试的重要方法之一。本文介绍了基于 Java 语言的 Mock 测试框架 – Mockito 的使用。原创 2016-02-19 09:02:00 · 2869 阅读 · 0 评论 -
Java 13 新特性及实战案例
近期 Java 界好消息频传。先是 Java 13 发布,接着 Eclipse 也发布了新版本表示支持新版本的Java 特性。本文介绍了 Java 13 的新特性并展示了相关的示例。2019年9月17日,Java 13 正式发布。特性如下。Java 13 新特性此版本带来了以下几大新特性:JEP 350,Dynamic CDS Archives:扩展应用程序类-数据共享,以允许在 Ja...原创 2019-09-23 20:35:46 · 1078 阅读 · 0 评论 -
org.hibernate.MappingException: Unknown entity: com.pkms.entity.User
1报错org.hibernate.MappingException: Unknown entity: com.pkms.entity.User at org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:628) at org.hibernate.event.def.Defaul原创 2012-03-08 20:28:01 · 10924 阅读 · 2 评论 -
Java 注释规范详解
原文同步至:http://www.waylau.com/java-comments-conventions/在 Java 的编写过程中我们需要对一些程序进行注释,除了自己方便阅读,更为别人更好理解自己的程序,所以我们需要进行一些注释,可以是编程思路或者是程序的作用,总而言之就是方便自己他人更好的阅读。原创 2015-04-01 22:36:09 · 1229 阅读 · 0 评论 -
如何查看 JAR 包的源代码
Java 项目的编译文件经常被打包成 JAR(Java Archive,Java 归档文件)文件,当然,作为学习,有时候也非常想看到这个 JAR 被打包前的源代码是怎么样的。下面提供几种查看 JAR 包的源代码方式。原创 2015-04-02 20:07:17 · 74430 阅读 · 11 评论 -
【用jersey构建REST服务】系列文章
用Jersey构建RESTful服务系列图文。附带项目源码。给力中~原创 2014-08-17 18:16:39 · 4434 阅读 · 0 评论 -
用Jersey构建RESTful服务4--通过jersey-client客户端调用Jersey的Web服务模拟CURD
一、总体说明通过jersey-client接口,创建客户端程序,来调用Jersey实现的RESTful服务,实现增、删、改、查等操作。服务端主要是通过内存的方式,来模拟用户的增加、删除、修改、查询等操作。二、创建服务端1.在上文项目中,在“com.waylau.rest.resources.UserResource“中修改代码,首先创建一个HashMap,用原创 2014-03-19 10:43:02 · 40349 阅读 · 30 评论 -
用Jersey构建RESTful服务5--Jersey+MySQL5.6+Hibernate4.3
一、总体说明本例运行演示了用Jersey构建RESTful服务中,如何同过Hibernate将数据持久化进MySQL的过程二、环境1.上文的项目RestDemo2.MySQL5.6下载http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.16-win32.zip3.Hibernate4.3.4下载http://source原创 2014-03-23 22:20:27 · 8377 阅读 · 8 评论 -
java性能分析小工具--jconsole
如果电脑装了java 版本1.5以上,都会自带这个性能分析小工具。windows下输入命令行:jconsole 即可调出这个工具 可以对线程、内存、类、CPU等做一些简单分析原创 2014-03-12 20:49:09 · 1563 阅读 · 0 评论 -
Flex+J2EE实例(cairngorm+blazeDS+hibernate+spring) 教程 总结
本实例为一个 flex 与 java通信项目。前端采用cairngorm框架,后台 采用hibernate+spring每个部署 步骤,附详细 图文解释。旨在 采用 一种快速开发 项目架构。由于图片较多,故分为以下4部分。 欢迎 读者 批评指正。 Flex+J2EE实例(cairngorm+blazeDS+hibernate+spring) part1 .http://blog原创 2012-03-03 10:42:33 · 1574 阅读 · 0 评论 -
Flex+J2EE实例(cairngorm+blazeDS+hibernate+spring) part4 (完)
Flex+J2EE实例(cairngorm+blazeDS+hibernate+spring) part4 ----add cairngorm1.添加在libs 下 添加Cairngorm.swc ,此时,具备了cairngorm框架能力2.运用cairngorm框架2.1 在flex_src 下创建如下文件夹 和 文件 AdminVO.aspackag原创 2012-02-22 09:42:57 · 2447 阅读 · 0 评论 -
Flex+J2EE实例(cairngorm+blazeDS+hibernate+spring) part3
Flex+J2EE实例(cairngorm+blazeDS+hibernate+spring) part3 ----add spring & hibernate1. 在WEB-INF\lib 下添加 spring 、 hibernate 常用jar,包括mysql数据库的连接驱动 2.在mysql数据库中创建数原创 2012-02-21 20:06:29 · 2556 阅读 · 0 评论 -
java多线程编程技术 +代码实例
1. java和他的API都可以使用并发。可以指定程序包含不同的执行线程,每个线程都具有自己的方法调用堆栈和程序计数器,使得线程在与其他线程并发地执行能够共享程序范围内的资源,比如共享内存,这种能力被称为多线程编程(multithreading),在核心的C和C++语原创 2011-08-27 10:05:57 · 43580 阅读 · 4 评论 -
java核心技术之 ArrayList应用 【职员薪水管理系统】
职员薪水管理系统需求如下:/*** author:kevin* date:20110-7-15* function:use ArrayList to build a system of EmployeeSalaryMangement ,* the system is useful原创 2011-07-16 01:35:07 · 1800 阅读 · 0 评论 -
用Jersey构建RESTful服务1--HelloWorld
一、环境1、Eclipse Juno R22. Tomcat 73. Jersey 2.7 下载地址( https://jersey.java.net/download.html)二、流程1.Eclipse 中创建一个 Dynamic Web Project ,本例为“RestDemo”2.按个各人习惯建好包,本例为“com.waylau.rest.resourc原创 2014-03-17 15:43:50 · 40023 阅读 · 44 评论 -
struts2+hibernate3+spring3项目快速开发(图文)之1:新建项目+建表+建立数据连接
1.所需软件项目开发环境:MyEclipse8.5+MySQL+Struts 2.2.2.1安装包,最新Sutrs2安装包及文档可以上官网http://struts.apache.org/2.x/index.html下载2.建立一个项目名为sshtest001的web project项目选择java EE 5.03.提示点YES4.建数据表a)使用mysql 数据库b)创建sstest001数据库create database sstest001;c)切换到sstest001use sstest001;d)原创 2011-05-13 00:11:00 · 2185 阅读 · 0 评论 -
用Jersey构建RESTful服务6--Jersey+SQLServer+Hibernate4.3
一、总体说明本例运行演示了用Jersey构建RESTful服务中,如何同过Hibernate将数据持久化进SQLServer的过程二、环境1.上文的项目RestDemo2.SQLServer2005三、配置与上文mysql的配置不同点主要在hibernate.cfg.xml文件;配置如下: <!DOCTYPE hibernate-原创 2014-03-26 15:46:10 · 4305 阅读 · 4 评论 -
jsp+ ssh框架 中文乱码问题,已解决
做个了系统。有添加页面User_add.jsp和显示用户页面User_list.jsp添加中文的用户名“我爱你”密码“123”在显示页面出项了乱码,中文显示异常问题排查:1.检查数据库,发现写入的数据也是乱码乱码有可能出在提交页面直接在数据库将乱码改成中文的数据发现在User_list.jsp能显示中文charset 和pageEncoding改成z支持GB18030或者UTF-8,搞定从新添加“我爱你”密码123成功显示中文PS:页面默认charset=ISO-8859-1,以下为深入研究1.当显示页面为原创 2011-05-18 22:10:00 · 5768 阅读 · 0 评论 -
用Jersey构建RESTful服务3--JAVA对象转成JSON输出
一、 总体说明XML和JSON 是最为常用的数据交换格式。本例子演示如何将java对象,转成JSON输出。二、流程1.在上文项目中,在“com.waylau.rest.resources.UserResource“中增加代码,代码如下: @GET @Path("/getUserJson") @Produces(MediaType.APPLI原创 2014-03-18 23:27:53 · 25256 阅读 · 12 评论 -
ActionScript3.0与Java6.0的不同点
1基本数据类型AS3中的基本数据类型是Boolean,int ,Number,String,uintJava基本数据类型有8大:byte,char ,short ,long, int, float ,double, booleanAS3中Numeric:对于 nume原创 2011-07-31 23:30:14 · 1281 阅读 · 0 评论