
java
码农农码一生
这个作者很懒,什么都没留下…
展开
-
JAVA 计算地球上两点的距离,计算点到线的距离
计算球体上,两个点的距离,以及某个点到某条线上的最短距离原创 2022-07-27 10:55:23 · 1839 阅读 · 0 评论 -
对比java类,返回不同部分
假如一个类只有几个字段,可以一个一个去比较判断,如果这个类有几十个甚至一百多个字段显然不能一个一个去比较,这里使用 java反射 和自定义注解去完成这个需求。一、自定义注解自定义一个注解,需要进行对比的字段属性,我们打上在字段上方打上该注解,name 则为字段的中文说明import java.lang.annotation.*;/** * 字段注解,写上字段注释 * * @author ChenHao * @version 1.0.0 * Created at 2021/3.原创 2021-09-26 13:52:28 · 386 阅读 · 0 评论 -
JSONObject有Map,顺序错乱问题
JSONObject 底层用的 是HashMap 无序,所有会导致 json map 嵌套时候,解析json 出现map 顺序错乱的问题。HashMap map = JSON.parseObject(JsonStr, LinkedHashMap.class, Feature.OrderedField);原创 2021-07-01 09:54:31 · 1744 阅读 · 0 评论 -
前台传送输入到后台乱码问题
办法一:修改tomcat server 配置打开 tomcat/conf/server.xml 配置文件找到如下配置加上 URIEncoding="UTF-8" 的配置方法二:java 处理一下前台传过来的字符串new String(name.getBytes("iso-8859-1"),"utf-8");...原创 2021-06-28 15:48:15 · 275 阅读 · 0 评论 -
Log4j配置指定类输出指定日志文件
一、配置log4j <!-- 添加一个 自定义 appender--> <appender name="mjLogAppender" class="org.apache.log4j.DailyRollingFileAppender"> <!-- 指定日志文件输出位置 --> <param name="File" value="${BR.root}/../log/mj/app.log"/> <!-- 指定日志输出格式 -->.原创 2021-06-28 15:34:01 · 4225 阅读 · 0 评论 -
JSONObject 的字符串数字转换成 BigDecimal
/** * json 相关工具类 * * @author * @version 1.0.0 * Created at 2021/4/2 11:09 */public class JsonUtils { /** * 功能描述: 将 JsonObj 中 Stirng 数字 转成 BigDecimal类型 * @author: * Created at 2021/4/2 11:07 */ public static void s2BigDe..原创 2021-04-02 14:10:10 · 3423 阅读 · 0 评论 -
java 科学计数法处理数字
使用DecimalFormatDecimalFormat format = new DecimalFormat("###,####.000"); System.out.println(format.format(111111123456.1227222));原创 2021-04-01 10:10:17 · 774 阅读 · 0 评论 -
SpringBoot集成 Jwt 实现Token验证访问拦截
1、Jwt 简介 JSON Web令牌(JWT)是一个开放标准(RFC 7519),它定义了一种紧凑且自包含的方式,用于在各方之间安全地将信息作 为JSON对象传输。由于此信息是经过数字签名的,因此可以进行验证和信任。可以使用秘密(使用HMAC算法)或使用RSA或 ECDSA的公钥/私钥对对JWT进行签名。2、应用场景授权:这是使用JWT最常见的方案。当用户登录后,每个后续请求将会在header带上JWT,允许用户访问允许使用该令牌的路由、服务和资源。...原创 2020-08-07 09:38:12 · 3536 阅读 · 4 评论 -
如何使用ProcessBuilder执行外部命令行
public final class java.lang.ProcessBuilderextends Object :此类用于创建操作系统进程。用来执行外部命令,比如与cmd中或者终端上一样执行shell命令。大体分成三步:1、构建ProcessBuilder2、构建外部命令3、执行start执行普通命令 /** * 简单测试 * * @th...原创 2019-12-16 09:55:40 · 2526 阅读 · 1 评论 -
Logback 日志框架使用详解
所谓日志,能够描述系统运行状态的所有事件都可以称作为日志。所谓日志框架就是一套能实现日志输出的工具包,并且可以根据需求携带上下文定制输出格式、定制输出目标、运行时选择性输出、可灵活配置等等。在Java开发中,常用的日志记录框架有 JUL、JCL、Log4J、SLF4J、LogBack。这些日志记录框架各有各的特点,各有各的应用场景。jul:JDK自带的log框架使用起来也很简单,我...原创 2019-09-02 10:54:39 · 307 阅读 · 0 评论 -
SpringBoot 数据库配置说明
# 是否开启PersistenceExceptionTranslationPostProcessor,默认为truespring.dao.exceptiontranslation.enabled # 设定超时被废弃的连接占到多少比例时要被关闭或上报spring.datasource.abandon-when-percentage-full # 使用Hikari pool时,是...原创 2019-08-26 16:03:51 · 1123 阅读 · 0 评论 -
java 设计模式(一):单例模式
大白话:在有些系统中,为了节省内存资源、保证数据内容的一致性,对某些类要求只能创建一个实例,这就是所谓的单例模式。单例模式的定义与特点单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯...原创 2019-08-21 15:38:06 · 193 阅读 · 0 评论 -
JDK 1.8 新特性之Stream 详解个人笔记
虽然java 10已经发布,11 已经在路上,虽然 java EE 已经更名为 jakarta EE,但是大多数人连jdk1.8的新特性都不太了解,本人也是如此,所以在学习Java 8 API 添加的 Stream 的时候 做一些个人笔记,希望帮助自己的同时也能帮到大家。首先对stream的操作可以分为两类,中间操作(intermediate operations)和结束操作(terminal...原创 2018-06-14 13:22:24 · 50612 阅读 · 19 评论 -
java线程学习(二):线程池
本章继续深入学习线程-线程池原创 2018-06-26 09:36:06 · 250 阅读 · 0 评论 -
java线程学习(四):面试
了解完线程之后,我们来看一下常见的面试题。sleep和wait的区别1、sleep 是线程的静态方法,wait 是Object的方法。2、sleep 方法输入参数为毫秒,时间到了会拥有cpu执行权,wait 可以使用 notify 或者 notifyall 方法唤醒后获得cpu执行权。3、sleep 不会释放对象锁,wait 会释放对象锁。(第三条是面试官主要考点)线程有...原创 2018-06-27 15:12:35 · 208 阅读 · 0 评论 -
JDK 1.8 新特性之Date-Time API详解个人笔记
虽然java 10已经发布,11 已经在路上,虽然 java EE 已经更名为 jakarta EE,但是大多数人连jdk1.8的新特性都不太了解,本人也是如此,所以在学习Java 8 API 添加的 Data-Time API的时候 做一些个人笔记,希望帮助自己的同时也能帮到大家。分析1.8之前的日期类:1、线程不安全:java.util.Date 这个类线程不安全,而且所有日期类都是...原创 2018-07-19 10:28:38 · 6795 阅读 · 0 评论 -
java线程学习(三):Callable和Future
之前提到过线程的两种创建方式,今天说一下callable,与Runnable接口功能相似,用来指定线程的任务。其中的call()方法,用来返回线程任务执行完毕后的结果,call方法可抛出异常。可以理解为callable是可以抛出异常且有返回值的Runnable。而Future则是用来接收Callable的返回值,他们同样都是JDK5新增并发包concurrent下的接口。Callable的使用...原创 2018-07-13 15:21:45 · 300 阅读 · 0 评论 -
SpringBoot 将数据库信息 提取成配置文件
我们在开发的时候往往将数据库链接信息写死在yml中,例如spring: datasource: driver-class-name: oracle.jdbc.OracleDriver password: abc username: abc url: jdbc:oracle:thin:@//localhost:1521/pdb1但是如此以来,大大的降低...原创 2018-09-12 16:28:52 · 11623 阅读 · 3 评论 -
开发常用注解
偶然一次,被面试官问道,说说你都用过哪些注解,回忆起来,开发过程中真没少用到注解开发,但是还没有详细的总结过,故写下这篇随手笔记,有用到新的注解也会继续在这篇博客里更新1、Entity实体类用到的注解名称 对应类 注解说明 @DynamicUpdate Hibernate 默认是true,只更新改变了的字段,其他字段不更新。 @DynamicInsert ...原创 2018-09-14 09:39:38 · 475 阅读 · 0 评论 -
自定义注解实现@NotNull注解
先了解一下基本的自定义注解的时候,常用的注解含义@Documented // 代表这个注解,可以被javadoc 处理的(加不加都行)@Retention(RetentionPolicy.RUNTIME)// RetentionPolicy 生命周期,一共有三个// SOURCE 只留在源码,编译好后的代码是不有该注解的,该注解一旦编译就不存在了 ;// class 只停留在字节码,...原创 2019-06-17 14:45:30 · 11845 阅读 · 2 评论 -
HttpClient 使用详解
HttpClient 介绍HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。HttpClient 就是帮我们实现了所有的Http的方法,比如Get,P...原创 2019-07-24 14:44:06 · 1135 阅读 · 0 评论 -
java线程学习(一):线程
在面试过程中,我相信大家都被问到过线程的问题,在网上看了一下,知识很分散,我想在自己学习的时候归纳总结写个笔记,希望帮助到自己的同时能帮助到大家。线程的基本概念进程:进程是指正在运行的程序。当一个程序进入内存运行,就变成了一个进程,进程是出于运行过程中的程序,并且具有一定的独立性。(例如使用电脑时,可以一边使用微信,一边使用QQ,一边打开网页。。。等等) 线程:线程是进程中的一个执行单元...原创 2018-06-22 12:57:14 · 454 阅读 · 0 评论