随笔分类 - 00 Java SE

摘要:1. 概述 泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。 什么是泛型?为什么要使用泛型? 泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法 阅读全文

posted @ 2020-09-17 19:18 panchanggui 阅读(50) 评论(0) 推荐(0) 编辑 |

摘要:当我们执行完一条Sql语句,获取到一个 ResultSet 对象后,有时我们需要立即知道到底返回了多少个元素,但是 ResultSet 并没有提供一个 size() 方法 or length 的属性,我们可以一个一个调用 next() 去累加计算,但是我们还有更好的办法 : PreparedStat 阅读全文

posted @ 2020-03-25 10:21 panchanggui 阅读(257) 评论(0) 推荐(0) 编辑 |

摘要:1.下载java版本到本机 可以直接用yum install 命令,但是这样是默认下载,有时安装的版本不是你想要的,有时会出现安装失败 一般下载64位版本,这里选择的版本是java版本1.8 rpm版本:下载后可以直接用yum install命令安装或者rpm命令安装 tar.gz版本:下载到本地后 阅读全文

posted @ 2020-03-05 16:55 panchanggui 阅读(186) 评论(0) 推荐(0) 编辑 |

摘要:拦截器中获取get参数不会出现任何异常,但是在拦截器中读取了输入流中body内容后,在controller中@RequestBody注解参数无法获取到内容。 背景 通常对安全性有要求的接口都会对请求参数做一些签名验证,而我们一般会把验签的逻辑统一放到过滤器或拦截器里,这样就不用每个接口都去重复编写验 阅读全文

posted @ 2020-02-12 09:38 panchanggui 阅读(327) 评论(0) 推荐(0) 编辑 |

摘要:request 请求 -->1:过滤器 doFilter2:拦截器 preHandle3:消息转换器 readInternal4:AOP before5:Controller6:Response7:AOP after8:消息转换器 writeInternal9:拦截器 postHandle 过滤器: 阅读全文

posted @ 2020-02-10 11:11 panchanggui 阅读(468) 评论(0) 推荐(0) 编辑 |

摘要:1. 关于InputStream.read() 在从数据流里读取数据时,为图简单,经常用InputStream.read()方法。这个方法是从流里每次只读取读取一个字节,效率会非常低。 更好的方法是用InputStream.read(byte[] b)或者InputStream.read(byte[ 阅读全文

posted @ 2020-02-10 10:24 panchanggui 阅读(509) 评论(0) 推荐(0) 编辑 |

摘要:MultiValueMap<String, Object> postParameters = new LinkedMultiValueMap<>();postParameters.add("mobile", phone);postParameters.add("smsCaptcha", code); 阅读全文

posted @ 2019-12-11 17:33 panchanggui 阅读(2001) 评论(0) 推荐(0) 编辑 |

摘要:前言:在Java开发中经常遇到这些概念问题,有的可能理解混淆,有的可能理解不到位,特此花了很多时间理顺了这些概念。不过有些概念实际开发中并没有使用到,可能理解还不够准确,只能靠后续不断纠正了。 1、什么是POJO ?POJO(Plain Old Java Object)这种叫法是Martin Fow 阅读全文

posted @ 2019-09-30 09:23 panchanggui 阅读(639) 评论(0) 推荐(0) 编辑 |

摘要:一、POJO(Plain Ordinary Java Object)简单的Java对象,其中有一些属性及其getter setter方法的类,没有业务逻辑(重点理解一下"没有业务逻辑"); POJO的内在含义是指那些没有从任何类继承、也没有实现任何接口,更没有被其它框架侵入的java对象,从字面上翻 阅读全文

posted @ 2019-09-30 09:12 panchanggui 阅读(190) 评论(0) 推荐(0) 编辑 |

摘要:在我们使用spring框架的过程中,在很多时候我们会使用@async注解来异步执行某一些方法,提高系统的执行效率。今天我们来探讨下 spring 是如何完成这个功能的。 spring 在扫描bean的时候会扫描方法上是否包含@async的注解,如果包含的,spring会为这个bean动态的生成一个子 阅读全文

posted @ 2019-09-19 16:44 panchanggui 阅读(215) 评论(0) 推荐(0) 编辑 |

摘要:本文结合实例介绍了 Thread Local 的原理与实现方法,并分析了其适用场景。 本文结合实例介绍了 Thread Local 的原理与实现方法,并分析了其适用场景。 原创文章,转载请务必将下面这段话置于文章开头处(保留超链接)。本文转发自技术世界,原文链接 http://www.jasongj 阅读全文

posted @ 2019-09-19 11:25 panchanggui 阅读(395) 评论(0) 推荐(0) 编辑 |

摘要:返回时null属性不显示:String str = JSONObject.toJSONString(obj); 返回为null属性显示:String str = JSONObject.toJSONString(obj,SerializerFeature.WriteMapNullValue); Fas 阅读全文

posted @ 2019-08-09 15:07 panchanggui 阅读(1553) 评论(0) 推荐(0) 编辑 |

摘要: 阅读全文

posted @ 2019-07-24 10:00 panchanggui 阅读(195) 评论(0) 推荐(0) 编辑 |

摘要:开发中经常遇到从集合类List、Map中取出数据转换为String的问题,这里如果处理不好,经常会遇到空指针异常java.lang.NullPointerException,在此总结一下常用转换为String的方法,以及转换后如何对其进行判null使用的问题。 Java中对象转换为String的常用 阅读全文

posted @ 2019-05-28 09:46 panchanggui 阅读(2629) 评论(0) 推荐(0) 编辑 |

摘要:最近一直找java8相关新特性的文章,发现都太没有一个连贯性,毕竟大家写博客肯定都有自己的侧重点,这里找到一本书,专门介绍java8新特性的,感觉大家可以看看《写给大忙人看的JavaSE8》.这里我会结合书中的知识以及网上的知识,对于java8 的新特性进行总结,当然我自己写的也会有自己的侧重点。 阅读全文

posted @ 2019-04-15 10:13 panchanggui 阅读(124) 评论(0) 推荐(0) 编辑 |

摘要:为什么要单独写个Java8新特性,一个原因是我目前所在的公司用的是jdk8,并且框架中用了大量的Java8的新特性,如上篇文章写到的stream方法进行过滤map集合。stream方法就是接口Collection中的default方法。所以准备专门写写关于java8新特性的文章,虽然现在10已经发布 阅读全文

posted @ 2019-04-15 10:12 panchanggui 阅读(132) 评论(0) 推荐(0) 编辑 |

摘要:目录 一、运行时异常 1、什么是运行时异常 程序在运行过程中出现的异常,RumtimeException 是 Exception 的一个子类 我们可以查看Java API 文档 贴张示意图 2、运行异常的特点 一般来说,我们在方法体内出现异常,我们用throw 关键字 将 异常对象或 异常对象的引用 阅读全文

posted @ 2019-02-14 14:07 panchanggui 阅读(341) 评论(0) 推荐(0) 编辑 |

摘要:控制台打印的信息 java.lang.Exception: 抛出异常 捕获异常 at com.pbh.util.jwt.JWTUtil.main(JWTUtil.java:31) 一、异常的抛出 1、定义 : 一个方法不处理这个异常,而是调用层次向上传递,谁调用这个方法,这个异常就由谁来处理。 2、 阅读全文

posted @ 2019-02-14 14:05 panchanggui 阅读(46036) 评论(0) 推荐(1) 编辑 |

摘要:原文出处:码农登陆 写在前面 今天聊的是注解,但其实单纯说注解,注解本身没有任何的作用。简单说和注释没啥区别,而它有作用的原因是:注解解释类,也就是相关对代码进行解释的特定类。一般这些类使用反射是可以拿到的。 因此,通过注解和反射这两者的结合使用,是可以做到很多功能的。不知道各位小伙伴有没有留意过, 阅读全文

posted @ 2019-02-01 14:44 panchanggui 阅读(383) 评论(0) 推荐(0) 编辑 |

摘要:原文出处 一直以来都对Java反射究竟消耗了多少效率很感兴趣,今晚总算有空进行了一下测试 测试被调用的类和方法 package com.spring.scran; public class TestMethod { public void test() { for(int i = 0 ; i < 1 阅读全文

posted @ 2019-02-01 14:25 panchanggui 阅读(148) 评论(0) 推荐(0) 编辑 |

摘要:原文出处 早两天写了《从把三千行代码重构成15行代码谈起》这篇文章,看到评论中有一些同学的回复还是在质疑反射的性能,好像程序用上了反射,就像开上了拖拉机似的。本来我觉得这个话题没有什么好讨论的了,网上已经有太多太多的文章在说这个问题,有疑问的大可以到网上找相关的文章来查阅。但是,我想起来我刚编程的时 阅读全文

posted @ 2019-02-01 14:20 panchanggui 阅读(102) 评论(0) 推荐(0) 编辑 |

摘要:原文出处: locality 写在前面:什么是java反射机制?我们又为什么要学它?当程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言。我们认为java并不是动态语言,但是它却有一个非常突出的动态相关机制,俗称:反射。IT行业里这么说,没有反射也就没有框架,现有的框架都是以反射为基础。在 阅读全文

posted @ 2019-02-01 10:35 panchanggui 阅读(114) 评论(0) 推荐(0) 编辑 |

摘要:原文出处: locality 注解的好处: 1.能够读懂别人写的代码,特别是框架相关的代码。 2.本来可能需要很多配置文件,需要很多逻辑才能实现的内容,就可以使用一个或者多个注解来替代,这样就使得编程更加简洁,代码更加清晰。 3.(重点)刮目相看。(但是怎么样才能让别人刮目相看呢?会用注解不是目的, 阅读全文

posted @ 2019-02-01 10:34 panchanggui 阅读(815) 评论(0) 推荐(0) 编辑 |

摘要:枚举(enum)类型是Java 5新增的特性,它是一种新的类型,允许用常量来表示特定的数据片断,而且全部都以类型安全的形式来表示。 所有的枚举都继承自java.lang.Enum类。由于Java 不支持多继承,所以枚举对象不能再继承其他类(可以实现接口)。 1、常量的使用 在JDK1.5之前,我们定 阅读全文

posted @ 2019-01-25 10:37 panchanggui 阅读(11533) 评论(0) 推荐(2) 编辑 |

摘要:\t 相当于tab,缩进 \n 回车 \r 换行 一、所对应的ASCII码不同 符号 ASCII码 意义 \n 10 换行NL \r 13 回车CR 回车 \r 本义是光标重新回到本行开头。r 的英文return,控制字符可以写成CR,即Carriage Return 换行 \n 本义是光标往下一行 阅读全文

posted @ 2018-12-20 14:44 panchanggui 阅读(1453) 评论(0) 推荐(0) 编辑 |

摘要:小问题:double值的小数位是0时,转String会有“.0”结尾。比如,double值是“12”,转String得到的字符串是“12.0”。如果需要去掉0结尾的小数位,应当如何解决呢? 解决方案: 详细代码: 转自:https://blog.csdn.net/mtb2012/article/de 阅读全文

posted @ 2018-12-13 19:27 panchanggui 阅读(6952) 评论(0) 推荐(0) 编辑 |

摘要:获取今天,昨天,上个月的日期 的方法: 阅读全文

posted @ 2018-12-12 20:37 panchanggui 阅读(9218) 评论(0) 推荐(0) 编辑 |

摘要:出处:https://www.cnblogs.com/kisstear/p/5461494.html 阅读全文

posted @ 2018-12-10 16:23 panchanggui 阅读(2833) 评论(0) 推荐(0) 编辑 |

摘要:基于JavaMail的Java邮件发送Author xiuhong.chen@hand-china.com Desc 简单邮件发送 Date 2017/12/8 项目中需要根据物料资质的状况实时给用户发送邮件,然后我就简单学习了SMTP. 电子邮件的在网络中传输和网页一样需要遵从特定的协议,常用的电 阅读全文

posted @ 2018-11-20 20:05 panchanggui 阅读(5538) 评论(0) 推荐(0) 编辑 |

摘要:http://blog.csdn.net/xietansheng/article/details/51673073 http://blog.csdn.net/xietansheng/article/details/51722660 电子邮件的应用非常广泛,例如在某网站注册了一个账户,自动发送一封欢迎 阅读全文

posted @ 2018-11-15 11:47 panchanggui 阅读(8283) 评论(0) 推荐(0) 编辑 |

摘要:问题:上述程序能否编译通过?为什么? 解答:不能编译通过。因为编译的时候会报错:已捕捉到异常 java.io.IOException。 catch(IOException e)这句有错误。 分析:对于try..catch捕获异常的形式来说,对于异常的捕获,可以有多个catch。对于try里面发生的异 阅读全文

posted @ 2018-11-13 19:56 panchanggui 阅读(10595) 评论(0) 推荐(2) 编辑 |

摘要:在JVM中对一个类实例的创建,有两种方式,一种是编译时,一种是运行时。两种方式在开发过程中都是十分重要的。在Java中无时无刻无处不在的Java对象,实例化的过程也就变得尤为引人瞩目。我们经常用new Object()方法来创建实例,而相反的,反射在这个时候就显得突兀,因为有人就会问,Java对象实 阅读全文

posted @ 2018-11-13 16:33 panchanggui 阅读(73) 评论(0) 推荐(0) 编辑 |

摘要:理解反射对学习Java框架有很大的帮助,如Spring框架的核心就是使用Java反射实现的,而且对做一些Java底层的操作会很有帮助。 一、Class类的使用 1、万事万物皆对象,(当然,基本数据类型,静态成员不是面向对象(属于类的)),所以我们创建的每一个类也都是对象,即类本身是java.lang 阅读全文

posted @ 2018-11-13 16:15 panchanggui 阅读(198) 评论(0) 推荐(0) 编辑 |

摘要:Java的对象模型中: 这个问题中,第1个假设是错的:java.lang.Object是一个Java类,但并不是java.lang.Class的一个实例。后者只是一个用于描述Java类与接口的、用于支持反射操作的类型。这点上Java跟其它一些更纯粹的面向对象语言(例如Python和Ruby)不同。而 阅读全文

posted @ 2018-11-13 15:37 panchanggui 阅读(2384) 评论(0) 推荐(1) 编辑 |

摘要:原文链接 原文作者:Dani Buiza 译者:Toien Liu 校对:深海 编者的话:注解是java的一个主要特性且每个java开发者都应该知道如何使用它。 我们已经在Java Code Geeks提供了丰富的教程, 如Creating Your Own Java Annotations, Ja 阅读全文

posted @ 2018-11-13 14:47 panchanggui 阅读(179) 评论(0) 推荐(0) 编辑 |

摘要:当我们遍历拼接字符串的时候,最后会多出一个我们添加的字符(比如逗号)。 方式一: 方式二: 阅读全文

posted @ 2018-10-25 09:25 panchanggui 阅读(2807) 评论(0) 推荐(0) 编辑 |

摘要:Java 2D API 提供的文本处理功能进行美化。Java 2D API 的文本功能包括: 使用抗锯齿处理和微调(hinting)以达到更好的输出质量 可以使用系统安装的所有字体 可以将对图形对象的操作(旋转、缩放、着色、剪切等等)应用到文本上。 支持向字符串添加内嵌属性(如字体、尺寸、深浅,甚至 阅读全文

posted @ 2018-10-17 10:16 panchanggui 阅读(6937) 评论(1) 推荐(1) 编辑 |

摘要:Java泛型中的标记符含义: E - Element (在集合中使用,因为集合中存放的是元素) T - Type(Java 类) K - Key(键) V - Value(值) N - Number(数值类型) ? - 表示不确定的java类型 S、U、V - 2nd、3rd、4th types 遇 阅读全文

posted @ 2018-09-27 23:27 panchanggui 阅读(782) 评论(0) 推荐(0) 编辑 |

摘要:子类实例化是否会实例化父类? 阅读全文

posted @ 2018-09-25 11:03 panchanggui 阅读(893) 评论(0) 推荐(0) 编辑 |

摘要:线程,是我们项目中绕不过的重点领域。提到线程,就常会听到线程安全的术语。那什么是线程安全呢?通俗点说,就是线程访问时不产生资源冲突。其实,这是一个有点难以定义的概念,不是很容易让人一听就懂的概念。“一个类可以被多个线程安全调用就是线程安全的”《Java并发编程实践》。 来说说静态变量、实例变量、局部 阅读全文

posted @ 2018-09-20 14:25 panchanggui 阅读(9373) 评论(1) 推荐(1) 编辑 |

摘要:文章开头先引入一处图片。 这处图片引自老罗的博客。为了避免不必要的麻烦,首先声明我个人比较尊敬老罗的。至于为什么放这张图,自然是为本篇博文服务,接下来我自会说明。好了,可以开始今天的博文了。 Annotation 中文译过来就是注解、标释的意思,在 Java 中注解是一个很重要的知识点,但经常还是有 阅读全文

posted @ 2018-09-19 14:00 panchanggui 阅读(181) 评论(0) 推荐(0) 编辑 |

摘要:相关名词解释 HTML:Hyper Text Markup Language,超文本标记语言 HTTP:Hyper Text Transfer Protocol,超文本传输协议 URL:Uniform Resource Locator,统一资源定位符 CGI:Common Gateway Inter 阅读全文

posted @ 2018-09-19 00:16 panchanggui 阅读(41) 评论(0) 推荐(0) 编辑 |

摘要:主要内容 MySQL的基本操作和基本SQL语法 使用JDBC进行MySQL数据库的开发 使用DriverManager、Connection、PreparedStatement、ResultSet对数据库进行增删改查操作 JDBC简介 JDBC(Java Database Connectivity) 阅读全文

posted @ 2018-09-19 00:05 panchanggui 阅读(9969) 评论(0) 推荐(1) 编辑 |

摘要:有时候我们需要直接用jdk提供的java命令来执行class文件让软件运行起来,特别是很多初学者,但经常会发现如下提示: 用eclipse或用ant则没有问题。 其实原因很简单,我们忽略了2个细节。 1.java指令默认在寻找class文件的地址是通过CLASSPATH环境变量中指定的目录中寻找的。 阅读全文

posted @ 2018-09-18 23:52 panchanggui 阅读(5318) 评论(0) 推荐(1) 编辑 |

摘要:当Java源代码中包含中文字符时,我们在用javac编译时会出现“错误:编码GBK的不可映射字符”。 由于JDK是国际版的,我们在用javac编译时,编译程序首先会获得我们操作系统默认采用的编码格式(GBK),然后JDK就把Java源文件从GBK编码格式转换为Java内部默认的Unicode格式放入 阅读全文

posted @ 2018-09-18 23:50 panchanggui 阅读(217) 评论(0) 推荐(0) 编辑 |

摘要:一、配置方法 配置Eclipse可以查看JDK类库源码 Window->Preferences->Java->Installed JREs 若没有JRE,需要自己添加进来,有的话,点击JRE,Edit,找到jre\lib\rt.jar 点击小三角,找到这个jar里的Source attachment 阅读全文

posted @ 2018-09-18 23:16 panchanggui 阅读(285) 评论(0) 推荐(0) 编辑 |

摘要:Java新建线程的3种方法 Java创建线程有3种方法:(1)继承Thread;(2)实现Runnable接口;(3)实现Callable接口; 由于Java只支持单继承,所以用继承的方式创建线程,比较死板,不够灵活;用实现接口的方式创建线程,可以实现多个接口,比较灵活。Runnable和Calla 阅读全文

posted @ 2018-09-17 19:34 panchanggui 阅读(1186) 评论(0) 推荐(0) 编辑 |

摘要:方法一: 在创建类时自动添加,勾选“public static void main(String[] args)” 方法二: 输入main之后按"alt+/"组合键,选择如图所示选项后按回车: 阅读全文

posted @ 2018-09-17 16:13 panchanggui 阅读(9173) 评论(0) 推荐(0) 编辑 |

摘要:方式一 这是最常见的并且在大多数情况下也是最可取的遍历方式。在键值都需要时使用。 1 2 3 4 Map<Integer, Integer> map = new HashMap<Integer, Integer>(); for (Map.Entry<Integer, Integer> entry : 阅读全文

posted @ 2018-09-05 13:51 panchanggui 阅读(113) 评论(0) 推荐(0) 编辑 |

摘要:private boolean writeToFile(BusGpsBean gpsBean) { String dataStr = DateUtil.date2String(new Date(), DateUtil.YMD); String filePath = PathKit.getWebRoo 阅读全文

posted @ 2018-08-17 16:52 panchanggui 阅读(2055) 评论(0) 推荐(0) 编辑 |

摘要:0.基础知识 在idea中打开servlet的源码: 可以看见servlet就是一个接口;接口就是规定了一些规范,使得一些具有某些共性的类都能实现这个接口,从而都遵循某些规范。 有的人往往以为就是servlet直接处理客户端的http请求,其实并不是这样,servlet并不会去监听8080端口;直接 阅读全文

posted @ 2018-08-02 15:32 panchanggui 阅读(226) 评论(0) 推荐(0) 编辑 |

摘要:简介: JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件( 阅读全文

posted @ 2018-08-02 15:01 panchanggui 阅读(176) 评论(0) 推荐(0) 编辑 |

摘要:一、File.separator File file=new File(); 这句是新建一个文件。file.separator这个代表系统目录中的间隔符,说白了就是斜线,不过有时候需要双线,有时候是单线,你用这个静态变量就解决兼容问题了。 在Windows下的路径分隔符和Linux下的路径分隔符是不 阅读全文

posted @ 2018-07-19 11:53 panchanggui 阅读(11531) 评论(0) 推荐(0) 编辑 |

摘要:Java的Executors框架提供的定长线程池内部默认使用LinkedBlockingQueue作为任务的容器,这个队列是没有限定大小的,可以无限向里面submit任务。 当线程池处理的太慢的时候,队列里的内容会积累,积累到一定程度就会内存溢出。即使没有内存溢出,队列的延迟势必会变大,而且如果进程 阅读全文

posted @ 2018-07-11 10:30 panchanggui 阅读(736) 评论(0) 推荐(0) 编辑 |

posts - 633, comments - 19, trackbacks - 0, articles - 0

Copyright © 2020 panchanggui
Powered by .NET 5.0.0-rc.2.20475.5 on Kubernetes