![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
文章平均质量分 59
SpringCloud1
这个作者很懒,什么都没留下…
展开
-
redis中的 adlist链表实现
可见,list的结构还是比较简单的.listNode,代表每个list的结点, list整体包含了头结点,尾部结点. 而 listIter 则是在迭代操作中使用,下面具体分析.原创 2023-06-12 10:43:40 · 444 阅读 · 0 评论 -
dubbo提供者暴露流程解析
dubbo提供者暴露流程解析原创 2022-09-07 16:14:59 · 160 阅读 · 0 评论 -
rocketMq与spring项目造成的死锁问题
问题现象启动时卡死在消费者线程,spring容器不进行初始化。有时候可以正常启动有时候不能正常启动,开启debug模式进行对比后发现.失败的启动日志:如上图,可以看到 消费者线程进行了初始化类;成功的启动日志:如上图,可以看到是主线程在进行初始化类.推测,mq异常走入主线程的逻辑,与spring共同占用了一个锁导致.进入服务器,使用jstack -l pid查看线程日志Found one Java-level deadlock:=============================原创 2022-04-25 15:47:53 · 975 阅读 · 0 评论 -
java加盐算法
import java.security.MessageDigest;import java.util.Random;import org.apache.commons.codec.binary.Hex;public class PasswordUtil {/*** 生成含有随机盐的密码*/public static String generate(String password) ...转载 2019-02-13 10:44:15 · 1029 阅读 · 0 评论 -
shiro参考官方10分案例编写.废弃过期方法
package xue.xiang.yi.demo.shiro;import org.apache.shiro.SecurityUtils;import org.apache.shiro.authc.AuthenticationException;import org.apache.shiro.authc.IncorrectCredentialsException;import org....原创 2019-02-13 14:09:44 · 622 阅读 · 0 评论 -
JVM在分代使用的GC机制
GCMinorGc 新生代新生代GC(MinorGc):指发生在新生代的垃圾收集动作,因为Java对象大多都具备朝生夕灭的特性,所以MinorGc非常频繁,一般回收速度也比较快.老年代GC(Major GC/ Full GC): 指发生在老年代的GC,出现了Major GC,经常会伴随至少一次的Minor GC(非绝对);Major GC的速度一般比MinorGC慢10倍以上./**...原创 2019-02-19 11:47:17 · 322 阅读 · 0 评论 -
java虚拟机-数据区域
java虚拟机-数据区域1.粗糙 经常有人把java内存区分为堆内存(Heap)和栈内存(Stack),这种分发比较粗糙.Java内存区域的划分实际上远比这复杂.这种划分的流行只能说明大多数程序员最关注的、与对象内存分配关系最密切的内存区域是这两块。2.细致划分2.1 程序计数器程序计数器(Program Counter Register)是一个快较小的内存空间,可以看做当前线程所执...原创 2019-02-14 15:55:16 · 287 阅读 · 0 评论 -
java大牛25点
你需要精通面向对象分析与设计(OOA/OOD)、涉及模式(GOF,J2EEDP)以及综合模式。你应该了解UML,尤其是class、object、interaction以及statediagrams.你需要学习Java语言的基础知识以及它的核心类库(collections、serialization、streams、networking、multithreading、reflection、...转载 2019-02-21 11:53:36 · 247 阅读 · 1 评论 -
HashMap详细介绍
0、基于jdk1.8源码所分析1、一些常量 /** * The default initial capacity - MUST be a power of two. 默认的初始容量是2的幂。 默认为2的4次方 16 */ static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // ak...原创 2019-04-29 13:23:30 · 749 阅读 · 0 评论 -
java从数据库导出数据到Excel生成三级联动 真实项目亲测可用
https://blog.csdn.net/it_zacard/article/details/77033095转载 2019-02-27 19:43:41 · 1169 阅读 · 2 评论 -
java垃圾回收算法
摘抄自 深入理解JVM虚拟机书籍第二版标记-清除法:最为基础的算法,“标记清除法”跟他的名字一样,算法分为两个阶段,”标记”阶段,跟”清除”阶段。说他是最基础打的算法,是因为后续的算法都是以他为基础而改进得到的,他主要有两个不足:一是标记跟清除的效率都不高,另一方面,在回收之后会有大量的不连续空间碎片,这就会导致之后程序需分配大块连续的内存时,无法找到在足够的连续内存而不得不提前进行另一次的...原创 2019-02-15 16:25:27 · 382 阅读 · 0 评论 -
GOF-构造者模式
https://blog.csdn.net/qq_34337272/article/details/80540059转载 2019-02-21 14:21:05 · 247 阅读 · 0 评论 -
NIO实现多人聊天
服务器端/** * 功能描述: 基于NIO(非线程阻塞)实现的网络聊天室服务端<br> * * @since: 1.0.0 * @Author:薛向毅 */public class ChatRoomServer { private Selector selector = null; static final int port = 8089; pri...转载 2018-05-25 13:21:15 · 599 阅读 · 0 评论 -
java生产者与消费者的线程同步
package com.xue.ssm;public class Ck { public static void main(String[] args) { Ck ck = new Ck(); Thread sc = new Thread(new Sc(ck)); Thread xf = new Thread(new Xf(ck));...原创 2018-05-08 16:20:03 · 251 阅读 · 0 评论 -
线程、进程有关知识
1、什么是线程?什么是进程? 线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。 ①操作系统在执行一个程序是,会自动创建一个“进程”,这个进程中,至少包含一个线程(这个线程被称为主线程),来作为程序入口。 ②操作系统运行中,会产生很多个“进程”,这些进程不共享内存;而每个进程占有的内存,却可以被这个...原创 2018-06-02 11:00:09 · 280 阅读 · 0 评论 -
JUC线程高级-volatile关键字与内存可见性
1、什么是内存可见性问题? 内存可见性问题是,当多个线程操作共享数据时,彼此不可见。即:线程1更改了共享数据的值,线程2读取的还是未改变之前的。2、解决办法1、同步锁(会影响效率)package com.xue;/** * * @author 薛向毅 * @create 2018-06-24 17:04 **/public class TestVolatile { ...原创 2018-06-24 17:25:57 · 429 阅读 · 0 评论 -
JUC--什么是原子性-CAS算法
一、什么是原子性问题package com.xue;import java.util.concurrent.atomic.AtomicInteger;/** * @author 薛向毅 * @create 2018-06-24 17:28 * * 一、i++的原子性问题。分为“读-改-写”; * int i=10; * i = i++;//10 * * ...原创 2018-06-25 16:30:27 · 661 阅读 · 0 评论 -
java细小知识总结
java细小知识总结1、第一题public static void main(String[] args) { System.out.println(test(10));//结果为30 } private static int test(int i) { try { i+=10; re...原创 2018-07-27 23:00:32 · 280 阅读 · 0 评论 -
Java使用poi导出数据到excel表格并下载1
Java使用poi导出数据到excel表格并下载1 String path = "ExportToExcel"; //自己放常量的地方声明变量 // 取得互联网程序的绝对地址 String realPath = request.getSession().getServletContext().getRealPath("/"); //方法在下面 . 参数自由定义 HSS...原创 2018-12-25 14:58:54 · 641 阅读 · 0 评论 -
GOF-单例设计模式
单例设计模式简介1.保证一个类只能有一个实例,并且提供一个访问该实例的全局访问点.2.减少了系统性能开销饿汉式(线程安全,效率高,不能延迟加载)public class SingleGof {//实例化类的时候就实例化 private static SingleGof singleGof = new SingleGof(); private SingleGo...原创 2019-02-21 13:58:05 · 206 阅读 · 0 评论 -
equals与==区别
public class B { private int i ; public static void main(String[] args) { B b1 = new B(10); B b2 = new B(10); //对象之间不能用== 来比较,比较的是对象的内存地址。 System.out.println(b1 == b2...原创 2018-05-08 15:01:58 · 227 阅读 · 0 评论