MyBatis 中为什么不建议使用 where 1=1?
最近接手了一个老项目,“愉悦的心情”自然无以言表,做开发的朋友都懂,这里就不多说了,都是泪...接手老项目,自然是要先熟悉一下业务代码,然而在翻阅mapper文件时,发现了一个比较诡异的事情。这里给出简化后的业务代码:
别再写 main 方法测试了,太 Low!这才是专业 Java 测试方法!
在日常开发中,我们对一些代码的调用或者工具的使用会存在多种选择方式,在不确定他们性能的时候,我们首先想要做的就是去测量它。大多数时候,我们会
一次简单的 JVM 调优,性能提升了15%
背景最近对负责的项目进行了一次性能优化,其中包括对JVM参数的调整,算是进行了一次简单的JVM调优,JVM参数调整之后,服务的整体性能有15%左右的提升,还算不错。先介绍一下项目的基本情况:项目是一个高QPS压力的web服务,单机QPS一直维持
面试官:private修饰的方法可以通过反射访问,那么private的意义是什么?
在一个类中,为了不让外界访问到某些属性和方法,通常将其设置为private,用正常的方式(对象名.属性名,对象名.方法名)将无法访问此属
ElasticSearch进阶:一文全览各种ES查询在Java中的实现
这篇博文的主题是ES的查询,因此我整理了尽可能齐全的ES查询场景,形成下面的图:本文基于elasticsearch7.13.
Java 调用第三方接口示范
在项目开发中经常会遇到调用第三方接口的情况,比如说调用第三方的天气预报接口。#使用流程1、准备工作:在项目的工具包下导入HttpClientUtil这个工具类
Java时间格式化原来这么多玩法
时间过得真是快,现在已经是2022年了。作为开发来说,时间处理是非常繁琐的。从Java8开始有了新的时间API、时间的处理更加优雅,不再需要借助三方类库,而且线程安全。今天来梳理一下新API的格式化,而且还要玩点你没玩过的东西,点赞、转发、再看走起来。新API的时间格式化新的时间API的时间格式化由
从 Java 12 到 Java 17 那些激动人心的新特性
2021年9月,Oracle发布了Java17,Java的下一个长期支持版本。如果你在使用Java8或Java11,可能不会注意到Java12之后新增的一些很酷的新特性。因为这是一个很重要的版本,我会突出介绍一些我个人很感兴趣的新特性!需
JavaScript实现单词首字母大写的方法总汇
1、for循环:vara='Hi,myname\'sHanMeimei,aSOFTWAREengineer';//for循环functiontitleCase(s){vari,ss=s.toLowerCase().split(/\s+/);fo
如何使用 Java lambda 语法和外部规则引擎开发定制应用程序
复杂的企业应用程序通常有着不同的业务逻辑。这些业务逻辑中的前置条件和后续系统动作(也就是我们所说的规则)总是变化的。而且,比起技术和编程,我们这里所说的规则更需要特定领域的知识介入。我们在实现这些规则时不应老想着靠代码,反
分布式session的几种解决方案,你中意哪种?
我发现了一个商城,我还没有登录,就可以往购物车中添加商品,加了好几件后,我准备付款,需要我先去登录,登录完之后付款。现在很多商城,都会要求用户先去登录,登录之后再往购物车中添加商品,这样用户、购物车、商品,三个对象之间就有了绑定关系。而针对我最开始说的那种情况,其实就是基于session做的,客户端
最牛逼的 Java 日志框架,性能无敌,横扫所有对手...
Logback算是JAVA里一个老牌的日志框架,从06年开始第一个版本,迭代至今也十几年了。不过logback最近一个稳定版本还停留在2017年,好几年都没有更新;logback的兄弟slf4j最近一个稳定版也是2017年,有点凉凉的意思。而且logback的异步性能实在拉跨,功能简陋,配置又繁琐,
一些防止 Java 代码被反编译的方法
由于Java字节码的抽象级别较高,因此它们较容易被反编译。本节介绍了几种常用的方法,用于保护Java字节码不被反编译。通常,这些方法不能够绝对防止程序被反编译,而是加大反编译的难度而
再严重的 Log4j2 漏洞也伤害不了Java?
Log4j2漏洞会拖垮Java?胡扯!12月10日凌晨,Apache开源项目Log4j的远程代码执行漏洞细节被公开,由于Log4j的广泛使用,该漏洞一旦被攻击者利用会造成严重危害。Log4j是一个被许多Java应用程序使用的库,它是迄今为止最普遍的Ja
妙用Java 8中的 Function接口,消灭if...else...
在开发过程中经常会使用if...else...进行判断抛出异常、分支处理等操作。这些if...else...充斥在代码中严重影响了代码代码的美观,这时我们可以利用Java8的Function接口来消灭if...else...。
面试官写了个双冒号::问我这是什么语法?Java中有这玩意?
一:简洁二:方法引用三:Optional可选值一:简洁方法引用分为三种,方法引用通过一对双冒号::来表示,方法引用是一种函数式接口的另一种书写方式静态
一些防止 Java 代码被反编译的方法
由于Java字节码的抽象级别较高,因此它们较容易被反编译。本节介绍了几种常用的方法,用于保护Java字节码不被反编译。通常,这些方法不能够绝对防止程序被反编译,而是加大反编译的难度而已,因为这些方法都有自己的使用环境和弱点。隔离Java程序最简单的方法就是让用户不能够访问到JavaClass程序,这
Java 命名规范
简介在本文中,将从大到小,从外到内,总结Java编程中的命名规范。
Java 里的 for (;;) 与 while (true),哪个更快?
在JDK8u的jdk项目下做个很粗略的搜索:mymbp:/Users/me/workspace/jdk8u/jdk/src$egrep-nr"for\\(\\s?;\\s?;".|w
提高千倍效率的 Java 代码小技巧
前言代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾