随笔分类 - Java基础
摘要:最近在工作过程中使用了getCanonicalName(),感觉对于其底层原理及相关方法的彼此之间的区别不是很清楚,因此结合底层源码对其进行了详细的解读,并写了测试用例进行验证,最终将整体过程总结如下。【文章采用OneNote格式排版】
阅读全文
摘要:我们都知道,java中的数据类型可以分为基本数据类型和引用数据类型,java中的传递可以分为值传递和引用传递,两者之间的主要区别是什么呢?两者之间的造成区别的原因又是什么呢?本文从最基本的java虚拟机的存储进行展开解释,并且附有示例演示。
阅读全文
摘要:最近在web项目中需要用户在页面配置数据源链接的用户名和密码,为安全起见,采用业界通用的RSA非对称加密技术进行敏感信息的存储,因此顺便看了下加密技术的基础,并且将用到的 util 工具类贴了出来。
阅读全文
摘要:字符串替换是Java中最基本的操作,关于其具体实现,我们可以采用 replace 方法或者 replaceAll 方法来实现,关于两者之间的区别,以及在开发过程中遇到的坑,也进行了一定的总结。此外,我们也可以采用 模板引擎的方式进行替换,比如 StringTemplate的使用,具体可参考下文总结,
阅读全文
摘要:1. 关于Content-Type Content-Type(MediaType),即是Internet Media Type,互联网媒体类型;也叫做MIME类型,在Http协议消息头中,使用Content-Type来表示具体请求中的媒体类型信息。response.Header里常见Content-
阅读全文
摘要:在实际代码开发中,构造一棵树是一个比较常见的业务场景,实现方式有多种多样,但是如何以一种较为优雅的方式构造一棵树,却是一个值得深思的问题。 下面的方法,整体思路是: 1)首先查出所有的节点,这样与数据库只交互一次,减少IO; 2)第二次采用递归的方式构建树; 3)采用 stream表达式,注意排序的
阅读全文
摘要:本推文主要是 总结分析 PreparedStatement 相比于 Statement 的优势,主要分析了 PreparedStatement 可以防止 sql 注入的原因,以及引发的 in 查询的问题,并且提出了一定的解决方案。【本文格式采用 OneNote 排版】
阅读全文
摘要:从“猴子到树上摘桃”到“猴子先对树上的桃子进行标记,再统一摘桃”的演变 最近在公司项目开发过程中,遇到了一个相对比较复杂的场景,大概就是对于一棵完整的树(树的结构就是若干属性集合 和 一个子节点,子节点是 同等结构的树的集合),根据有权限的 list 集合(集合的形式是从根节点到叶子节点的一个字符串
阅读全文
摘要:在日常代码开发中,我们需要对实体类中的各个属性进行校验,比如非空判断、url 判断等等,在 javax.validation.constraints.* 包下面集成了多个校验注解。但是随着业务的发展,我们需要自定义一些特殊的注解,比如,针对一些标志位,我们必须保证其 数值只是 Integer类型的
阅读全文
摘要:综述 当try语句中出现异常是时,会执行catch中的语句,java运行时系统会自动将catch括号中的Exception e 初始化,也就是实例化Exception类型的对象。e是此对象异常名称。然后e(引用)会自动调用Exception类中指定的方法,就会e.printStackTrace()。
阅读全文
摘要:使用 Stream的sort() 方法,并结合 Comparator 类 进行排序,主要解决以下两个问题: 1)当某个字段为空时,怎么进行排序? 使用 Comparator.nullsFirst() 或者 Comparator.nullsLast( ) 进行非空的剔除 2)如果比较两个字段? 使用
阅读全文
摘要:在JavaWeb中有三大组件,分别是Servlet、Filter和Listener。其中Servlet的作用是处理请求,服务器会把接收到的请求交给Servlet来处理,即接收请求数据、处理请求和完成响应。 1. 实现Servlet的方式 主要有三种实现方式:1)实现javax.servlet.Ser
阅读全文
摘要:Collections工具类位于 java.util 包下,是一个比较常用的工具类,关于这个工具类,主要介绍其在使用过程中遇到的大坑!!! 【事故现场】 在实际项目开发过程中,在前人代码的基础上,对于一个集合添加元素,抛出java.lang.UnsupportedOperationException
阅读全文
摘要:Arrays工具类位于 java.util 包下,是一个比较常用的工具类,其可以针对数组进行各种操作,比如赋值、排序、搜索等等。在项目过程中我们针对数组的有关操作,如果不方便直接操作,均可通过调用此类的某些方法转换成 list 集合进行操作。下面首先介绍 Arrays 类的几种常用方法。 <!--[
阅读全文
摘要:在前面一篇博文中,对于java中的排序方法进行比较和具体剖析,主要是针对 Comparator接口和 Comparable接口,无论是哪种方式,都需要实现这个接口,并且重写里面的 方法。Java8中对其进行了优化,直接调用Comparator类即可实现一些自定义的排序功能,比如按照某个字段升序,并且
阅读全文
摘要:在实际项目开发过程中,我们经常需要对某个对象或者某个集合中的元素进行排序,常用的两种方式是实现某个接口。常见的可以实现比较功能的接口有Comparable接口和 Comparator接口,那么这两个又有什么区别呢? 关于Comparable接口 关于Comparable接口,其位于 java.lan
阅读全文
摘要:在实际项目开发中,List 集合较为常用,相比于数组,其提供了更多的方法,便于遍历、搜索、添加与移除。常见的有 ArrayList、Vector等。 关于ArrayList 中所周知,ArrayList不是线程安全的,在多线程开发时,我们不能采取多个线程同时操作 ArrayList,比如我们不能一个
阅读全文

浙公网安备 33010602011771号