随笔分类 - java
Protobuf3 在 java 和 python 间的测试实例
摘要:本文记录protobuf3的基础使用实例: 使用protobuf3在 java 端进行对象序列化到文件,在python端从文件读取并反序列化成python对象 1.环境准备 Notation:错误的产生一般来源于环境版本不匹配 >python --version Python 3.9.2 >prot
阅读全文
Error:java: Compilation failed: internal java compiler error
摘要:Idea java compiler error This blog record some Idea java compiler error. First, you must ensure that your code is correct. Second, you need to confirm
阅读全文
RedisTemplate 序列化问题
摘要:spring-data-redis RedisTemplate 操作redis时发现存储在redis中的key不是设置的string值,前面还多出了许多类似\xac\xed\x00\x05t\x00; 因为spring-data-redis的RedisTemplate<K, V>模板类在操作redi
阅读全文
Spring Security问题记录
摘要:用户权限认证这一块一直是自己的一个盲点,之前的web demo都是通过用户名密码匹配做简单的登录认证。 最近觉得应该去了解规范的用户及权限认证技术了,从Spring Security开始学习使用。 本文记录学习Spring Security过程中遇到的一些问题及解决方案。 1. 版本问题 Sprin
阅读全文
自动包装机制Integer,与AtomicReference<Integer>的问题
摘要:从如下代码开始了解Integer的自动包装机制 1 import java.util.concurrent.atomic.AtomicInteger; 2 import java.util.concurrent.atomic.AtomicReference; 3 4 /** 5 * 比较方法一与方法
阅读全文
在AWS EC2上部署springboot项目
摘要:前言 记录第一次在AWS EC2云上部署springboot web服务。 在windows上开发springboot项目,直接通过windows将项目jar包部署到AWS EC2上,部署运行,并成功访问。 1. 在windows10上开发springboot项目 1.1 项目开发 本spring
阅读全文
Java 基础代码考察
摘要:在学习Java Reference时,无意中浏览到一篇博客,看到了下面代码。 请问下面代码输出什么?为什么? 此段代码很细节,遂记录。 1 import java.lang.ref.WeakReference; 2 import java.util.WeakHashMap; 3 4 /** 5 *
阅读全文
JVM垃圾回收器
摘要:七种作用于不同分代的收集器,如果两个收集器之间存在连线,就说明它们可以搭配使用,图中收集器所处的区域,则表示它是属于新生代收集器抑或是老年代收集器。 并行(Parallel):并行描述的是多条垃圾收集器线程之间的关系,说明同一时间有多条这样的线程在协同工作,通常默认此时用户线程是处于等待状态。 并发
阅读全文
jstack 实验分析
摘要:1. Block 模拟代码: 1 /** 2 * 线程等待锁的情况 3 * 使用jstack 查看 4 * 哪个线程正在等待锁 5 * 线程正在等待哪个锁 6 * 等待的锁由哪个线程占有 7 */ 8 public class BlockDemo { 9 public static void mai
阅读全文
PriorityQueue底层原理
摘要:Java中PriorityQueue通过二叉小顶堆实现,可以用一棵完全二叉树表示。本文从Queue接口函数出发,结合生动的图解,深入浅出地分析PriorityQueue每个操作的具体过程和时间复杂度,将让读者建立对PriorityQueue建立清晰而深入的认识。 总体介绍 前面以Java Array
阅读全文
JVM中Class的Method
摘要:1. Class的属性 在JVM中,通常一个class会初始化成Klass(接口), InstanceKlass(实例), Method(方法), ConstantsPool(常量区) 在上图我们可以看到一个大概的Method,ConstantsPool,InstanceKlass之间的关系 Ins
阅读全文
Volatile 为什么不安全?
摘要:首先要了解的是,volatile可以保证可见性和顺序性,这些都很好理解,那么它为什么不能保证原子性呢? 可见性 可见性与Java的内存模型有关,模型采用缓存与主存的方式对变量进行操作,也就是说,每个线程都有自己的缓存空间,对变量的操作都是在缓存中进行的,之后再将修改后的值返回到主存中,这就带来了问题
阅读全文
Java中HashMap底层实现原理(JDK1.8)源码分析
摘要:HashMap的底层实现,但是发现好几个版本的,代码不一,而且看了Android包的HashMap和JDK中的HashMap的也不是一样,原来他们没有指定JDK版本,很多文章都是旧版本JDK1.6.JDK1.7的。现在我来分析一哈最新的JDK1.8的HashMap及性能优化。 在JDK1.6,JDK
阅读全文
maven 打包详解
摘要:Maven可以使用mvn package指令对项目进行打包,如果使用Java -jar xxx.jar执行运行jar文件,会出现"no main manifest attribute, in xxx.jar"(没有设置Main-Class)、ClassNotFoundException(找不到依赖包
阅读全文
idea 构建springmvc项目
摘要:参考:https://blog.csdn.net/qq_35164169/article/details/79988173
阅读全文
maven jar 包问题
摘要:1. Failure to transfer... 这种错误基本是所需要的 jar 包不存在,或者下载不完整,可去本地仓库查看相关 jar 文件的完整性 解决方案: 删除对应 jar 包,重新下载(删除后,update depandences即可),直至jar包完整 2. java.lang.NoC
阅读全文
nacos 使用记
摘要:本文记录SpringBoot和SpringCloud与Nacos作为配置中心的整合过程及问题 Nacos官方使用文档:https://nacos.io/zh-cn/docs/what-is-nacos.html 何为配置中心: https://www.cnblogs.com/yelao/p/1074
阅读全文
配置中心
摘要:本文通过一个案例,介绍 配置文件 和 配置中心 的必要性 案例:这是你自己的一个项目 这个项目很简单,于是你开始进行开发实现: 1. 实现:在代码中将女朋友名字赋值给name,作为响应内容,打jar包,部署运行; 2. 访问:打开浏览器,输入对应链接,返回你女朋友名字; over, so easy
阅读全文
springboot 配置文件
摘要:文章内容: SpringBoot配置文件的基本使用; yaml配置文件优先级问题讲解; yaml配置文件目录及比较说明; 自定义配置属性; @ConfigurationProperties与@Value两种注解对比; idea自定义yaml配置提示 加载外部配置; 装配配置文件(properties
阅读全文