
java
文章平均质量分 89
邋遢道
一个想过得更好的码农
展开
-
java读取Excel文件并各方案对比
导入excel方法及对比原创 2022-11-02 10:08:07 · 2292 阅读 · 1 评论 -
java并发编程 BlockingQueue-阻塞队列(七)
阻塞队列介绍及常用实现原创 2022-09-22 12:02:35 · 488 阅读 · 0 评论 -
java并发编程 深入理解AQS及相关实现(六)
AbstractQueuedSynchronizer先对AQS的各种特点有个印象,后面执行流程讲解完了再回来对应一下就能理解了什么是AQS?字面意思理解:抽象队列同步器,是一个抽象同步框架java中大多数同步器如Lock,Latch,Barrier等,都是基于AQS框架来实现的共同行为如:等待队列、条件队列、独占获取、共享获取等,也都是基于AQS实现实现方式:1.维护一...原创 2022-04-12 13:22:10 · 660 阅读 · 0 评论 -
java并发编程 synchronized深入理解及锁升级过程(五)
内存模型的安全性问题在并发安全第一章我们就聊到过并发的三大特性,可见,有序及原子性,今天我们还是继续来聊聊关于原子性及其中的一种解决方案 synchronized先看一个例子,使用两个线程对一个数分别进行自增自减操作 private static int counter = 0; public static void main(String[] args) throws InterruptedException { Thread t1 = new Thread((..原创 2022-03-17 15:17:20 · 306 阅读 · 0 评论 -
数字转换成金额
玄学的事情,以前读书的时候做过这个处理,我当时应该是做了一天,没有搞定,后来睡了一觉,晚上做梦给解出来了,当然那个方法我也忘了,鬼知道当时自己咋想的。前段时间突然想到了这个事情,然后尝试自己再写一下看看package com.andy.util;public class NumToMoney { public static void main(String[] args) { String num = "12212312346789123.123";//一京二千二百一十原创 2022-03-15 17:31:22 · 174 阅读 · 0 评论 -
spring cloud alibaba 完整实现(六)redis实现分布式锁
redis实现分布式锁及缓存常见问题的理解与解决方案原创 2022-03-15 17:17:00 · 2692 阅读 · 1 评论 -
java并发编程 原子类Atomic及CAS详解(四)
原子类Atomic前面我们提到过,多线程的数据操作,如i++是不具备原子性的如:我也提到过 volatile特性可见,原子,有序性那么我们看下面的代码发现即使使用了volatile,结果依然是没有达到我们的预期。那么肯定有同学就说了,volatile不保证原子性,这个说法其实并不准确,我在并发编程第一章也提到过:对任意单个volatile变量的读/写具有原子性,但类似于volatile++这种复合操作不具有原子性要解决这个问题的方法有很多,如synchroni...原创 2022-01-25 16:20:21 · 630 阅读 · 0 评论 -
spring cloud alibaba 完整实现(三)参数传递详解及seata执行过程
前言这是spring cloud alibaba完整实现的第三章,在前面两章,我们已经将nacos,open feign,以及seata集成了。因为是以搭建环境为主,所以有很多代码写得相对比较简单,更多的是配置,那么实际使用的时候可能还是有很多疑问,这一章我就暂时把各类参数传递问题及seata执行时如何操作的进行记录与解释,方便使用,后续也是一样,一边集成各个组件,一边解决相关使用问题。参数传递上一章我们简单的添加用户及日志,参数传递并没有进行演示与说明,那么我们一起来看一下...原创 2022-01-18 15:35:17 · 607 阅读 · 0 评论 -
java并发编程 线程池理解及使用(三)
线程池定义 上一章我们了解了线程的定义及使用,java使用的是内核级线程,线程的创建,销毁及上下文切换是非常消耗内核资源,如果是一个简单的dome,那么我们使用线程只需要使用 new Thread创建线程使用没有问题,但是如果是生产环境,要保证我们的程序能够长期稳定运行就需要线程池,线程池其实就可以理解为多个线程的组合管理,设计理念和我们数据库的连接池一样的我们通过一个场景来了解:一个web应用,服务器会接收请求并处理响应到客户端,要保证各个请求之间独立访问,我们...原创 2022-01-13 17:57:16 · 625 阅读 · 0 评论 -
spring cloud alibaba 完整实现(二)集成openfeign 和分布式事务seata
spring cloud alibaba集成 openfeign 及seata实现微服务相互调用及分布式事务管理原创 2022-01-07 16:46:30 · 2147 阅读 · 0 评论 -
spring cloud alibaba 完整实现(一) 基础结构及nacos配置
spring cloud alibaba 最新项目搭建,本章基本框架搭建,集成nacos+mybatis plus等。原创 2022-01-05 11:11:07 · 2479 阅读 · 8 评论 -
java并发编程-JMM及并发特性(一)
前言 前面已经把mysql 和 jvm相关知识做了一遍复习与梳理。这一章开始就开始java并发编程的知识记录与讲解,并发编程相对前面的内容,会更复杂,更难一些。我也梳理了很久的一个顺序以及需要说明的内容。不过没关系,付出总是有回报的,学习能够让自己更加强大。希望在学习完整个java并发编程后,能在工作和学习中有所帮助原创 2021-12-28 16:23:28 · 425 阅读 · 0 评论 -
jvm常用参数设置
参数分类 标准参数 以 - 开头所有的JVM实现都必须实现这些参数的功能,且向后兼容 控制台 java -help 可以列出标准参数非标准参数以-X开头默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足 且不保证向后兼容 控制台 java -X 列出非标准参数 非稳...原创 2021-12-17 18:03:44 · 526 阅读 · 2 评论 -
jvm调优工具
调优命令 当我们的程序有卡顿,oom,死锁等等各种情况我们如果是自己写的代码,还能大概清楚出问题的代码在哪儿,如果你作为项目经理,具体业务代码并不清楚,要查找这些问题就需要jvm调优工具,当然也可以用以装逼。。。好了,那么我们一起来看下如何使用jvm的这些命令前置条件,本地开启一个java项目,什么项目都可以JPS jps命令语法:jps [options ] [ hostid ] 参数可以不写[options]参数:...原创 2021-12-15 16:59:40 · 808 阅读 · 0 评论 -
垃圾回收器详解
垃圾回收算法及垃圾回收器原创 2021-12-08 17:48:21 · 402 阅读 · 0 评论 -
jvm虚拟机及创建对象流程
JVMJVM是Java Virtual Machine(Java虚拟机)的缩写, 经常聊到 java 都会有几个名词:jdk,jre,jvm。 简单说一说他们的区别 jre java运行环境,java程序需要运行,就必须要jre jdk 程序编译调试的工具包,JDK的工具也是Java程序,也需要JRE才能运行 jvm java 虚拟机,也是jre 下面的一部分,一个虚拟的计算机,有完善的硬件架构。Java跨平台的特性就是通过 jv...原创 2021-12-03 17:20:08 · 707 阅读 · 2 评论 -
java 类的加载机制详解
类加载 java程序运行时类加载的方式和流程是: 编译 》加载 》验证 》准备 》解析 》初始化编译:将java代码编译为字节码文件加载:查找并通过io读入字节码文件,在内存中生出一个代表类的class对象,作为访问方法区的 输入入口,使用到类的时候才会加载验证:字节码的校验,是否正确准备:给类的静态变量分配内存,并赋予默认值解析:将符号引用替换为直接引用,静态链接过程初始化:对类的静态遍历,初始化指定值,执...原创 2021-11-29 17:35:48 · 1740 阅读 · 0 评论 -
java 位运算符
前言 做java那么多年,基础运算符,三目运算符,逻辑运算符等等都是用得很多,第一次听说位运算符还是看面试题了解的,当然也没有详细去了解,其实用得比较少吧,不过看到了还是有必要记录一下。位运算符: 一个七个 &(与) |(或) ^(异或) ~(取反) >>(右移) <<(左移) >>>(无符号右移) java中的位运算符只针对二进制,所以也可称为二进制运算符,也就...原创 2021-11-08 20:23:27 · 251 阅读 · 1 评论