
Java
Nandeska
日积跬步,以至千里。
展开
-
Java8新特性(四):Optional类
Optional介绍原创 2021-10-21 12:30:39 · 200 阅读 · 0 评论 -
Java8新特性(三):Stream API练习
1原创 2021-10-20 18:28:43 · 205 阅读 · 0 评论 -
Java8新特性(三):Stream流与Stream API
Stream流简介Stream的操作步骤1、创建Stream流2、中间流水线操作3、终止操作,产生需要的结果源数据注意:Stream流和最终产生的结果不影响创建Stream的代码示例List<String> list = Arrays.asList("Sarah", "Terry", "Selina", "Tom");// 创建Stream@Testpublic void test01(){ // 1、通过Collection提供的stream(.原创 2021-10-20 18:22:37 · 315 阅读 · 0 评论 -
Java8新特性(二):四大内置核心接口
1原创 2021-10-17 22:04:28 · 149 阅读 · 0 评论 -
Java8新特性(一):初识Lamda表达式
Java8相较于之前的版本有哪些优点:1、运行速度更快(内存管理和垃圾回收机制发生了改变)2、代码更简洁(因为使用了Lamda表达式)3、强大的Stream API4、便于并行5、使用Optional可减少空指针异常最为核心的的两大特性:Lamda表达式和Stream API如何理解Lamda表达式?Lambda将功能实现(即模型中的 {代码块})作为参数进行传递。Lambda式子中,"->“前面的是需要实现的抽象方法的形参,没有形参就”()".原创 2021-10-16 17:38:27 · 839 阅读 · 1 评论 -
Java:数据集合List与Map的性能比较案例
假设有这样的一个场景:一组学生数据,一组老师的数据,属性分别如下public class Student { private String courseId; private String sduName; public Student(String courseId, String sduName) { super(); this.courseId = courseId; this.sduName = sduName; } public String getCour原创 2020-09-29 21:44:53 · 1511 阅读 · 0 评论 -
Java:Http的连接与关闭
三次握手与四次挥手https://blog.youkuaiyun.com/qq_33616529/article/details/78288883三次握手:1、Client-------->Server(你能听到我说话么)2、Client<--------Server(我能听到,你能听到我说话么)3、Client-------->Server(我也能)四次挥手...原创 2019-09-03 17:00:28 · 599 阅读 · 0 评论 -
Java性能优化(概述)
常用性能优化领域1、有效使用内存2、高效使用循环3、合理操作字符串4、文件、网络I/O及数据库性能5、多线程6、数据机构及算法7、日志性能7、JVM参数调优没有高效使用内存的情况:1.业务流程不精简,增加了不必要的环节2.提前创建对象而不是按需创建对象3.循环体创建对象而不是循环外 ...原创 2017-01-16 13:20:41 · 244 阅读 · 0 评论 -
Java:动态代理、反射与AOP
Java反射机制与动态代理模式:Java的反射机制是在编译并不确定是哪个类被加载了,而是在程序运行的时候才加载、探知、自审。使用在编译期并不知道的类。这样的特点就是反射。https://blog.youkuaiyun.com/xiaohai798/article/details/11640427理解反射:https://www.cnblogs.com/rocomp/p/4781987.html...原创 2019-09-03 17:00:49 · 148 阅读 · 0 评论 -
Java:序列化
Java:为什么需要序列化?序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化,将数据分解成字节流,以便存储在文件中或在网络上传输。序列化就是将内存中的类或对象变成可以存储到存储媒介中的流,序列化成了流之后可以通过互联网传输给别人,也可以通过反序列化将别人的序列化流转成内存中的对象。序列化可以解决分布式系统节点间复杂对象传输的问题. 将对象状态转化为可存储或可传输...原创 2019-09-03 17:01:17 · 102 阅读 · 0 评论 -
Java:知识体系整理
一、阅读源码二、分布式架构三、微服务四、性能优化五、并发编程六、工程化原创 2019-09-04 11:03:00 · 185 阅读 · 0 评论 -
Java:Tomcat热部署
Tomcat热部署只支持webapps目录下的war包或jar包,如果是更新/ROOT 目录下面的java代码,Tomcat需要重启。原创 2019-09-03 17:17:15 · 133 阅读 · 0 评论 -
Java:try...catch的重新认识
在一段try...catch处理中,catch的代码如下sendMail(){ try{ Transport.send(msg); // 触发异常的位置 } catch (Exception e) { e.printStackTrace(); restartXXXX(); // 重新任务 return;...原创 2019-09-03 17:12:50 · 113 阅读 · 0 评论 -
Java:如何引用jar包的源码并调试源码
1、jar包所在目录中找到source文件解压2、解压后的代码复制到eclipse的工程中,即可以对源码进行修改和调试了原创 2019-09-04 11:29:54 · 882 阅读 · 0 评论 -
Java:实现邮件自动发送功能的坑
1、Java Mail的jar包有1.5以上和1.5以下的区别,1.5以上的版本可以提供Trasport监听,但是监听输出的异常类型有限,很多异常需要修改jar包的代码或者断点才能看到。Transport transport = session.getTransport();transport.addTransportListener(new TransportListener() {...原创 2019-06-22 14:44:43 · 876 阅读 · 0 评论 -
Java:Serializable接口
一个对象序列化的接口,一个类只有实现了Serializable接口,它的对象才是可序列化的。因此如果要序列化某些类的对象,这些类就必须实现Serializable接口。而实际上,Serializable是一个空接口,没有什么具体内容,它的目的只是简单的标识一个类的对象可以被序列化什么情况下需要序列化a)当你想把的内存中的对象写入到硬盘的时候;b)当你想用套接字在网络上传送对象的时候;c)...原创 2018-11-27 14:57:25 · 163 阅读 · 0 评论 -
Java:Debug常见问题总结
1、命名前后不一致,比如形参和实参的命名没有保持一致、各种配置信息不一致、DB里的定义与Java中的定义不一致(如缺少字段)2、编码格式问题导致乱码3、不能使用 == 的地方使用了 == ,比如两个不同的 Integer 对象,要比如数值是否相等,得用 .equals() 方法4、空指针问题6、连接问题:Web对Server服务的连接,DB的连接7、URL过长引起 Provis...原创 2018-11-28 09:06:14 · 451 阅读 · 0 评论 -
Java:学些攻略(一)
要学习j2ee就要先学习j2se,刚开始学习j2se先建议不要使用IDE,然后渐渐的过渡到使用IDE开发,毕竟用它方便嘛。学习j2se推荐两本书,《java2核心技术一二卷》,《java编程思想》,《java模式》。其中《java编程思想》要研读,精读。这一段时间是基本功学习,时间会很长,也可能很短,这要看学习者自身水平而定。不要被IDE纠缠在学习java和j2ee过程中,你会遇到五花八门...原创 2019-09-04 09:46:21 · 131 阅读 · 0 评论 -
Java:学习攻略(二)
我是做J2EE的程序员,做为新手一定要养成一个好的习惯1.在写代码时不要偷懒多写注释这是一个程序员的基本要求,因为你写出来的程序不可能一直是你一个人在维护,你要为以后修改你程序的人做提示,2.代码要规范这个习惯很重要,一般在做项目时,项目组会给有一定自己的规范,一定要严格遵守这些规范,例如一些类的命名或者是方法名都要注意.3.个人觉的在学J2EE时大部分时间是在敲代码而不是啃书,最大的...原创 2019-09-04 09:46:44 · 141 阅读 · 0 评论 -
Java:核心技术讲解
Java核心技术36讲https://blog.youkuaiyun.com/weixin_38729727/article/details/82259507Java核心技术常见问题https://blog.youkuaiyun.com/fl_dream/article/details/80346609Java核心技术个人总结与心得https://blog.youkuaiyun.com/as6757uyy65uy...原创 2019-09-04 09:49:41 · 192 阅读 · 0 评论 -
J2EE的学习
J2EE其他学习 当你渐渐对j2ee了解到一定深度时,你要开始关注当前领域中的一些技术变化,J2ee是一块百家争鸣的领域,大家都在这里提出自己的解决方案,例如structs,hiberate,ofbiz等等,学习这些东西要你的项目和目标而定,预先补充一下未尝不可,但不用涉及太深,毕竟学习原理和理论是最最重要的事。目前常见J2EE API :JavaServer Pages(JSP)技术Ja...转载 2018-11-27 11:08:20 · 170 阅读 · 1 评论 -
Java:Class对象详解和类名.class, class.forName(), getClass()区别
Class对象的生成方式如下:1.类名.class 说明: JVM将使用类装载器, 将类装入内存(前提是:类还没有装入内存),不做类的初始化工作.返回Class的对象2.Class.forName("类名字符串") (注:类名字符串是包名+类名) 说明:装入类,并做类的静态初始化,返回Class的对象3.实例对象.getClass() 说明:对类进行静态初始化、...原创 2018-11-27 11:27:02 · 289 阅读 · 0 评论 -
20140731-正则表达式的写法及常用的正则表达式
最简单的正则写法:String name = “salanghei 我爱你 01 -_as”;String validate = "^[a-zA-Z0-9-\\s_\u4e00-\u9fa5]+$";if(!name.matches(validate)){System.out.println("name is error");}else{System.out.printl...原创 2014-07-31 18:31:35 · 265 阅读 · 0 评论 -
Java:JMS模型,从Flume到Kafka再到Storm
JMS支持两种消息模型:Point-to-Point(P2P)和Publish/Subscribe(Pub/Sub),即点对点和发布订阅模型。1, P2P模型有以下概念:消息队列(Queue)、发送者(Sender)、接收者(Receiver)。每个消息都被发送到一个特定的队列,接收者从队列获取消息。队列保留着消息,直到它们被消费或超时。(1) 每个消息只有一个消费者(Consume...原创 2019-09-03 17:16:40 · 147 阅读 · 0 评论