
java技术
文章平均质量分 56
小甄笔记
这个作者很懒,什么都没留下…
展开
-
char和varchar的区别
varchar是一种可变长度的数据类型,它只会存储实际的字符串内容,不会填充空格。因此,在存储短字符串时,varchar可以节省空间。varchar的长度范围是0-65535 (MySQL 5.0.3之后的版本)。char是一种定长的数据类型,它的长度固定且在存储时会自动在结尾添加空格来将字符串填满指定的长度。对于字段值经常改变的数据类型来说,CHAR 相比 VARCHAR 也更有优势,因为 CHAR 的长度固定,不会产生碎片。char和varchar都是用于在数据库中存储字符串的数据类型。原创 2024-01-15 10:48:54 · 418 阅读 · 0 评论 -
深拷贝与浅拷贝
对基本数据类型进行值传递,对引用数据类型,创建一个新的对象,并复制其内容称为深拷贝。原创 2023-11-13 21:57:23 · 184 阅读 · 0 评论 -
泛型 super和extend
泛型原创 2022-11-24 14:13:16 · 1501 阅读 · 1 评论 -
restful定义
11原创 2022-11-15 13:18:04 · 284 阅读 · 0 评论 -
自定义注解使用
注解使用原创 2022-09-05 21:40:42 · 3371 阅读 · 0 评论 -
AOP切面类使用代码
切面类说明原创 2022-09-05 14:59:01 · 339 阅读 · 0 评论 -
ApplicationEventPublisher事件发布-监听
事件发布监听原创 2022-08-26 17:10:18 · 3005 阅读 · 0 评论 -
MyBatis 批量插入foreach性能问题
批量插入原创 2022-08-26 16:33:22 · 1491 阅读 · 0 评论 -
苹果asa对接生成token代码
无原创 2022-08-10 19:46:31 · 929 阅读 · 0 评论 -
CompletableFuture用法详解
小笔记原创 2022-08-09 11:14:12 · 3113 阅读 · 0 评论 -
极光推送的设备唯一性标识 RegistrationID
对于 App 云平台系统,如何唯一地识别移动设备是非常重要的。否则,每次用户在设备上卸载掉应用再重新安装,后端系统只能把这个用户当作一个全新的用户了。Android 上识别设备的唯一性,因为这个圈太乱,所以设备本身的任何标识都是无法直接用作设备唯一标识的。iOS 是系统强力限制被唯一识别的,目前唯一可以部分满足条件是 IDFA,但需要你的 App 本身的确嵌入了广告。很多开发者使用极光推送时,都有这个疑问:极光推送是如何来做设备的唯一性识别的。本文解析极光推送如何尽可能地来唯一识别设备。极光推送原创 2022-01-20 19:17:29 · 4105 阅读 · 0 评论 -
API接口开发安全性
appid、appkey、appsecret、accesstoken基本概念 app_id 是用来标记你的开发者账号的, 是你的用户id,可以向第三方去申请 app_key 和 app_secret 第三方给你创建的:appKey公匙(相当于账号)AppSecret:私匙(相当于密码)app_key 和 app_secret 是一对出现的账号, 同一个 app_id 可以对应多个 app_key+app_secret, 这样 平台就可以分配你不一样的权限, 比如 app_key1 +原创 2021-11-22 18:59:19 · 2711 阅读 · 0 评论 -
RESTful接口请求头参数解析
public static Map analyseRequest(HttpServletRequest request){ Map map = new HashMap(); Enumeration paramNames = request.getParameterNames(); while (paramNames.hasMoreElements()) { String paramName = (String) paramNames.nextElement(...原创 2021-07-30 14:21:02 · 1467 阅读 · 0 评论 -
fastjson的常用操作
import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject;import java.util.Map;import java.util.Set;public class Main { public static void main(String[] args) { //创建一个json对象 JSONObject jsonObject = new JSONObj...原创 2021-05-19 15:57:12 · 796 阅读 · 0 评论 -
如何杀死端口号
windows 环境提示端口号被占用:1.win+R按键,召唤出运行窗口,并在运行窗口的文本输入框中输入“cmd”命令.两步方法 : 1 查询端口占用,2 强行杀死进程netstat -aon|findstr "8080"taskkill /pid 4136 -t -f...原创 2021-03-18 11:17:05 · 1047 阅读 · 0 评论 -
雪花算法生产id
SnowFlake算法生成id的结果是一个64bit大小的整数,它的结构如下图: ● 1位,不用。二进制中最高位为1的都是负数,但是我们生成的id一般都使用整数,所以这个最高位固定是0● 41位,用来记录时间戳(毫秒)。 ○ 41位可以表示$2^{41}-1$个数字, ○ 如果只用来表示正整数(计算机中正数包含0),可以表示的数值范围是:0 至 $2^{41}-1$,减1是因为可表示的数值范围是从0开始算的,而不是1。 ...原创 2021-01-20 18:47:41 · 602 阅读 · 0 评论 -
java开源验证框架OVAL
@Length,@MaxLength,@MinLength maxLength,minLength只有value属性,表示和value进行比较min和max是Length的属性汉字算一个长度 @NotBlank、@NotNull、@NotEmpty NotBlank:Check if the string representation is not empty and d...原创 2020-04-04 11:55:06 · 316 阅读 · 0 评论 -
方法
###方法重写和重载的对比 发生的范围方法名参数列表返回类型 修饰符重写父子类必须相同 必须相同相同或子类型权限更大重载同一个类 必须相同 必须不同不要求 不要求java中是按值传递:基本类型的变量赋值,赋的是一个值(元素内容),其中...原创 2020-12-07 18:45:42 · 110 阅读 · 0 评论 -
初始化块
简介初始化块 属于类的一种特殊成员,用于初始化信息类的成员: 属性、方法、构造、初始化块语法【修饰符】{ 语句 }补充:类似于方法,但没有返回、没有参数、没有名称,只有方法体,不会通过对象或类名显式的调用,而是在创建对象或加载类时隐式的调用当多个构造器中有共同的代码时,可以抽取到初始化块中,提高代码的重用性初始化块的特点一个类中可以有多个初始化块(静态的或普通的都行),创建对象或加载时执行该初始化块。 加载时:① public static S...原创 2020-12-07 17:21:37 · 250 阅读 · 0 评论 -
final
final 可以用来修饰 类、变量(属性和局部变量)、方法,不能修饰构造器final修饰类特点:该类不能被继承,属于太监类比如:String类就是final修饰的 final修饰方法特点:该方法不能被重写,但能被继承final修饰变量用final修饰的变量一旦被赋值将不能更改,我们也把称为常量 final 类型 名 = 值;常量的命名规范: 所有字母都大写,提高代码的阅读性 final修饰的引用类型变量,可以更改引用的属性值,不能更改地址号,也就是对象...原创 2020-12-07 17:12:11 · 207 阅读 · 0 评论 -
static
static简介static是一个修饰符,可以修饰属性、方法、内部类、初始化块, 称为静态成员或类成员,不能修饰局部变量和构造器什么时候需要使用静态的成员静态属性 当该类的所有对象都共享该属性,属性值一样,则可以将该属性设计成静态属性 比如:country、圆周率等静态方法 当该方法中不涉及到任何和对象有关的成员时,则可以将该方法设计成静态方法 比如:Arrays类中的方法都是静态方法,Math类中的方法都是静态方法静态成员的共同点随着类的加载而加载...原创 2020-12-07 17:07:47 · 408 阅读 · 0 评论 -
Http状态码
- 405 - 请求的Method不支持- 404 - not Found 页面找不到- 400 - 请求参数非法,基本上是表单提交到业务层时出现,或者类型转换异常导致的- 500 - 服务器内部错误,不能返回正常的结果。比如最常见的应用抛出空指针异常未进行处理。 415 媒体类型不匹配...原创 2020-12-04 12:05:49 · 90 阅读 · 0 评论 -
List.sort方法
//按照List中对象的id属性升序list.sort(Comparator.comparing(Stu::getId))//按照List中对象的id属性降序list.sort(Comparator.comparing(Stu::getId).reversed());//多条件升序list.sort(Comparator.comparing(Stu::getId).thenComparing(Stu::getSid));//id升序,sid降序list.sort(Comparator.comp原创 2020-12-02 13:47:35 · 2840 阅读 · 0 评论 -
如何读取Properties的配置文件
参考dubbo的消费者获取接口提供者的init方法String resolve = System.getProperty(interfaceName); String resolveFile = null; if (resolve == null || resolve.length() == 0) { resolveFile = Sys...原创 2020-05-01 22:48:51 · 281 阅读 · 0 评论 -
包装类型计算是的拆箱装箱操作
直接赋值时,都会自动调用 valueOf 方法,而 12 是在 -128~127 之间的,所以缓存中有其实例,两个引用同一个对象。而 200 超出了这个范围,两个对象都是 new 的新对象,两个对象不是同一个自动拆箱有个很典型的用法就是在进行运算的时候,因为对象时不能直接进行运算的,而是要转化为基本数据类型后才能进行加减乘除。自动拆箱导致的问题如果不接收返回值的话,x2累加后仍为1...原创 2020-03-25 11:33:42 · 475 阅读 · 0 评论 -
线程JUC包(二)
获取线程的4种方式1、继承Thread类2、实现Runnable 接口3、实现Callable接口4、用工具类Executors工具类或者new ThreadPoolExecute从线程池对象中获取线程Lock锁与synchronized锁Lock锁实现了线程的有序调度,而synchronized由CPU随机调度Lock代替了synchronized方法和语句的...原创 2020-03-24 11:34:45 · 160 阅读 · 0 评论 -
ftp和qps
一、TPS:Transactions Per Second(每秒传输的事物处理个数),即服务器每秒处理的事务数。TPS包括一条消息入和一条消息出,加上一次用户数据库访问。(业务TPS = CAPS × 每个呼叫平均TPS)TPS是软件测试结果的测量单位。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完...原创 2020-02-12 12:26:01 · 408 阅读 · 0 评论 -
java异常与spring的事物
java异常throwable类是java.lang包,是java语言中所有错误或异常的超类,只有当对象是此类(或其子类之一)的实例时,才能通过 Java 虚拟机或者 Java throw 语句抛出Error 是 Throwable 的子类,用于指示合理的应用程序不应该试图捕获的严重问题(不用捕获)Exception 类及其子类是 Throwable 的一种形式,它指出了合理的应用程...原创 2020-01-06 17:06:50 · 153 阅读 · 0 评论 -
spring之PropertySource
抽象类PropertySource及子类PropertySource是一个抽象类,它包含一个source和一个name。source可以是map或其他,通常是一组键值对。这个类结构简化如下public abstract class PropertySource<T> {protected final String name;//属性源名称 protec...原创 2019-12-13 15:08:35 · 401 阅读 · 0 评论 -
java8 自定义TemporalAdjuster
https://blog.youkuaiyun.com/u011165335/article/details/76576345转载 2019-04-09 16:16:46 · 145 阅读 · 0 评论