Java
Go 包循环引用及对策
尾巴咬到了嘴巴。 引言 从 Java 转到 Go 的开发同学,大概都会踩到第一个“坑”: Go 的包循环引用。 Go 的包循环引用是什么意思呢?有一定经验的开发者都知道循环依赖,比如 A 依赖了 B, B 依赖了 C ,C 又依赖了 A。 这就构成了一个循环依赖(有环图)。 在 Java 里面,循环依赖是类级别的;但 Go 里要更严格一些:Go 的循环引用判定是 包级别的。举个例子,包 A 下
Eclipse设定自定义注释
1.解决 windows-->preference Java-->Code Style-->Code Templates --- comments-->types---edit进行设置
如何修改input的radio类型选中样式
清除原生样式: input[type='radio'] { appearance: none; /* 用于覆盖默认的外观 */ -webkit-appearance: none; /* Safari and Chrome */ -moz-appearance: none; /* Firefox */ } 设置默认选择框样式
【At Coder begin 345】[D - Tiling] 回溯
题目链接:problem D 解法: 比较简单。看代码。 import java.io.IOException; import java.io.InputStreamReader; import java.io.StreamTokenizer; import java.util.Set; import java.util.TreeSet; public class Main {
MyBatis中的动态sql
动态sqlif 做判断拼接sql语句choose,when 类似于Java的switch判断set 修改语句专用,可以自动排错,比如多写了逗号sql,include 用于提取重复的语句,提高复用foreach 用于动态的查询多条信息 <!--if--> <select id="getBlogBy"> SELECT * FROM blog &
MyBatis中一对多和多对一
连表查询多对一查询 <select id="findAll2" resultMap="a1"> SELECT s.`id` sid ,s.`name` sname ,t.`name` tname FROM `student` s ,`teacher` t WHERE s.`tid`=t.`id`</select><resultMap id="a1"
工作总结!日志打印的11条建议
前言 大家好,我是 JavaPub。日志是我们定位问题的得力助手,也是我们团队间协作沟通(甩锅)、明确责任归属(撕B)的利器。没有日志的程序运行起来就如同脱缰的野🐎。打印日志非常重要。今天我们来聊聊日志打印的 N 个好建议~ 选择合适的日志等级 在开发中我们有常见的四种日志打印等级,debug、info、warn、error,要选择合适的等级打印,不要上来直接 info。 error: 错
jdk 升级引发bug
Map<String, String> map = new com.google.gson.Gson().fromJson("{"test":"1.0"}", Map.class); 1.7.0_45,运行正常 1.7.0_65,运行时异常:java.lang.Double cannot be cast to java.lang.String
动态代理和反射的基本学习
今天在跟着视频学习的时候发现老师讲的知识点都只简单的了解过但是没有深入学习,导致在跟着视频敲代码的时候完全不知道自己是在写什么东西。所以决定先把基础补一补再继续跟老师做项目。 打算先把自定义注解的编写和解析学好,想要学号这一块,又涉及到了Aop和java中反射的学习,那么话不多说,只要肯学习,这个难题就一定能解决。 先学习反射 反射设计到了动态代理的使用 定义: 什么是动态代理,就是无侵入式地给代
有关Bukkit插件开发血量显示的经验积累
直接上代码 计分板显示准测可选参数,(补充dummy,如果要在侧边栏显示,通常使用dummy) 注意,dummy之外的显示模式只会把内容显示在标题,所以额外添加的score一律无效。
react-hook-form结合antd4使用学习
在render里能否直接将field 传递给antd的input 当然可以,在render函数中,可以直接将field对象的部分或全部属性传递给Ant Design的Input组件,这样可以让Input组件完全受控于react-hook-form的Controller组件。 例如,您可以像下面这样简化代码: 这里将field.value、field.onChange、field.onBlur和f
MapStructPlus 1.4.0 发布,体积更轻量!性能更强!
MapStruct Plus 是 MapStruct 的增强工具,在 Mapstruct 的基础上,实现了自动生成 Mapper 接口的功能,并强化了部分功能,使 Java 类型转换更加便捷、优雅。 MapStructPlus官网 此次迎来了一次较大版本的更新,更新日志如下: 优化复杂对象转换逻辑,占用元空间更小!性能更快! 此版本针对于复杂对象的自动转换逻辑,进行了优化和部分的重新设计,减少
Bukkit插件开发有关文本悬停事件
HoverEvent.Action. ClickEvent.Action. 常用有COMMAND和SUGGEST_COMMAND SUGGEST_COMMAND会自动填充输入栏,但不会发送 COMMAND则是直接发送
零额外开销最快的数据库连接池?HikariCP 入门介绍
拓展阅读 从零开始手写 mybatis (三)jdbc pool 如何从零手写实现数据库连接池 dbcp? 万字长文深入浅出数据库连接池 HikariCP/Commons DBCP/Tomcat/c3p0/druid 对比 Database Connection Pool 数据库连接池概览 c3p0 数据池入门使用教程 alibaba druid 入门介绍 数据库连接池 HikariCP 性能为什
spring_error——记录使用spring时的一些error
直接进入正题。时间是2024-03-17 1.FactoryBean threw exception on object creation; nested exception is java.lang.NoClassDefFoundError: 参考了这个链接:怎么解决java.lang.NoClassDefFoundError错误-CSDN博客 一句话概
Java反序列化学习
前言 早知前路多艰辛,仙尊悔而我不悔。Java反序列化,免费一位,开始品鉴,学了这么久web,还没深入研究Java安全,人生一大罪过。诸君,请看。 序列化与反序列化 简单demo: 可以看出writeObject就是序列化(注:只有实现了Serializable接口的类才能被序列化),readObject就是反序列化,建议自己上手不看demo敲。那么这将造成什么问题,很明显,当用户能控制序列化的
Performance Improvements in .NET 8 & 7 & 6 -- String【翻译】
原文:https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-8/#strings-arrays-and-spans .Net 8 .NET 8在数据处理领域有了巨大的改进,特别是在有效操作字符串,数组和Span方面。既然我们刚刚谈到了UTF8和IUtf8SpanFormattable,那就从这里开始。 UTF8
springboot配置https
先提条件: 一台服务器并配置了宝塔 安装了openSSL 一、生成ssl文件 1.在java环境变量的bin目录下生成.p12的证书,在生成途中只需要记住生成时的密码,其余的可要可不要 keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -vali
说说如何在Vue项目中应用TypeScript?
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 一、前言 与link类似 在VUE项目中应用typescript,我们需要引入一个库vue-property-decorator, 其是基于vue-class-component库而来,这个库vue官方推出的一个支持使用class方式来开发vue单文件组件的库 主要的功能如下: methods 可以直接声明为类的成员方法 计算属性可
从零开始学Spring Boot系列-集成Redis
Redis简介 在开始集成之前,了解Redis的基础知识是非常重要的。Redis是一个开源的、使用ANSI C编写的、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它通常被称为数据结构服务器,因为值(value)可以是 字符串(string)、哈希(Hash)、列表(list)、集合(sets)、有序集合(sorted sets)等类型。 集成Redis
centos 安装 jdk 8
链接:https://pan.baidu.com/s/1jC_LG1UHmtzxirT246wcqA?pwd=seoj 1、解压 tar -zxvf jdk-8u144-linux-x64.tar.gz 2、配置环境变量,编辑文件/etc/profile export JAVA_HOME=/usr/lib/install/jdk1.8 export JRE_HOME=${JAVA_HOME}/jr
centos 切换 jdk 版本
1、查询当前jdk指向路径 which java 2、将默认jdk路径指向新jdk路径 红色字体是当前jdk路径也就是第1步返回的结果,紫色字体是新jdk路径 rm -f /usr/bin/java && ln -s /usr/lib/install/jdk1.8.0_191/bin/java /usr/bin/java 3、配置jdk环境变量,编辑etc/profile 如果配置
[转帖]关于mysql的时区(下):如何设置mysql的时区
一、如何设置 mysql 时区 1、命令 1)查时区:show variables like '%time_zone%' 返回有2
面试官:小伙子,能聊明白JMM给你SSP!我:嘚吧嘚吧一万字,直接征服面试官!
写在开头 面试官:小伙子,JMM了解吗? 我:JMM(Java Memory Model),Java内存模型呀,学过的! 面试官:那能给我详细的聊一聊吗,越详细越好! 我:嗯~,确定越详细越好?起码得说一万字,您有时间听完? 面试官:你要是真能说一万字全是干货的话,我当场拍板要你,给你SSP! 我:这可是您说的,瞧好吧! 为了拿到一个SSP级别的Offer,我开始疯狂运转我的大脑,将过去背的八股文
ARM-V8基础知识学习笔记(一)
参考文章:ARM官方文档 ARMv8架构概述、相关技术文档以及ARMv8处理器简介 ARMv8 架构编程探索 ARMv8 架构与指令集.学习笔记 ARM异常等级: 在 ARMv8 中,执行发生在四个异常级别之一。在 AArch64 中,异常级别决定了特权级别,类似于ARMv7中定义的特权级别。异常级别决定特权级别,因此在 ELn 执行对应于特权PLn。类似地,具有比另一个更大的n值的
JS之对密文进行AES解密
需求:用户ID和用户名不能在传输时同时明文出现 解决方式:后端对用户ID和用户名进行加密,传输后前端解密显示 后端的加密方式为: 1.密码转换为字节,先通过PBKDF2WithHmacSHA256,盐值salt123(转换为字节),迭代次数2048次,密钥长度128位,将密码处理成密钥。 2.用AES/GCM/NoPadding的方式对载荷(转换为字节)进行加密,然后IV(字节)会拼