星星源之心
码龄8年
关注
提问 私信
  • 博客:22,969
    问答:650
    23,619
    总访问量
  • 12
    原创
  • 60,892
    排名
  • 32
    粉丝
  • 0
    铁粉
  • 学习成就

个人简介:从事软件开发,金融项目开发

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 目前就职: 亿达科创集团有限公司
  • 加入CSDN时间: 2017-03-03
博客简介:

星星源之心

查看详细资料
  • 原力等级
    成就
    当前等级
    1
    当前总分
    50
    当月
    31
个人成就
  • 获得80次点赞
  • 内容获得1次评论
  • 获得60次收藏
创作历程
  • 8篇
    2024年
  • 3篇
    2018年
  • 11篇
    2017年
成就勋章
TA的专栏
  • java基础源码阅读
    7篇
  • JAVA设计模式
    1篇
  • ssm
    2篇
  • ssh
    2篇
  • 微信公众号开发
    2篇
  • orcale
    1篇
  • java
    2篇
兴趣领域 设置
  • 编程语言
    java
  • 数据结构与算法
    数据结构线性回归
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

349人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

ConcurrentHashmap源码阅读(总结)

boolean remove(Object key, Object value) 移除指定 key 的元素,但对应key节点的value必须与 传入的value值相等,才会进行删除,返回值为 boolean。ConcurrentHashmap 相对于Hashmap是线程安全的,但对比hashTable 效率更高,适用与高并发场景,但不支持key或者null为null。的迭代器是弱一致性的,这意味着如果在迭代过程中其他线程修改了 map,这些修改对于迭代器来说在大多数情况下是不可见的。
原创
发布博客 2024.12.03 ·
454 阅读 ·
20 点赞 ·
0 评论 ·
12 收藏

ConcurrentHashmap 扩容和树的转换

CurrentHashmap 解决的hash冲突的策略就是在,hash桶中存储链表,链表长度达到一定值后转成红黑树。通过 三 可以知道当链表的长度大于8,会调用treeifyBin 方法 将该桶中的链表转换成树。2、当链表长度大于8,数组长度小于64 时候 进行扩容。1、当数组长度大于阈值sizeCtl时候进入扩容。2. 集合数组长度大于64。1. 链表长度大于等于8。树转链表的条件: 但树的节点个数小于6.从源码看currentHashmap 扩容时机。
原创
发布博客 2024.12.02 ·
272 阅读 ·
5 点赞 ·
0 评论 ·
1 收藏

ReentrantLock源码阅读

是一种可重入的互斥锁,支持公平锁和非公平锁的选择。private volatile int state:线程获取锁时候需要将state从0改为1,state为0代表没有线程持有锁,state大于0 代表某个线程正持有这把锁,state的值代表重入次数。可重入:正如其名称,ReentrantLock 是一个可重入的锁,意味着持有锁的线程可以 多次获取该锁,而不会引发阻塞。为了避免这问题,可以采用锁超时机制,或者设计更合理的锁加载顺序。非公平锁:不保证锁的获取顺序,线程请求时候会先去竞争一次锁,新能可能更好。
原创
发布博客 2024.11.26 ·
515 阅读 ·
21 点赞 ·
0 评论 ·
14 收藏

ConcurrentHashmap源码阅读

ConcurrentHashmap源码
原创
发布博客 2024.11.19 ·
382 阅读 ·
6 点赞 ·
0 评论 ·
5 收藏

设计模式之单列模式

public class User{private static User user=new User();pbilc User(){}public static User getUser(){if(user==null){ user=new User();}return user;}}
原创
发布博客 2024.11.18 ·
308 阅读 ·
2 点赞 ·
1 评论 ·
4 收藏

ArrayList 源码阅读

ArrayList 源码阅读
原创
发布博客 2024.11.15 ·
592 阅读 ·
17 点赞 ·
0 评论 ·
23 收藏

ArrayList的for(Object o:os)中ConcurrentModificationException

从源码可以看到Iterator(迭代器)中执行next方法时候,首先调用的就是 checkForComodifcation() 这里比较了两个值 expectedModCount 迭代器初始化时候赋值为ArrayList中的modCount。当我们for(Object o:os) 中当前集合进行修改时候,都会导致modCount值加一,就出现两个值不等版本不一致,抛出并发修改异常。一、我们先看for(Object o:os) 这里面其实是分为获取迭代器,然后执行迭代器的next() 方法。
原创
发布博客 2024.11.14 ·
173 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

Arrays.asList()执行add()报错UnsupportedOperationException

Arrays.asList() 之 UnsupportedOperationException
原创
发布博客 2024.11.12 ·
134 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

Java类加载机制

一、Java类加载机制1.概述       Class文件由类装载器装载后,在JVM中将形成一份描述Class结构的元信息对象,通过该元信息对象可以获知Class的结构信息:如构造函数,属性和方法等,Java允许用户借由这个Class相关的元信息对象间接调用Class对象的功能。      虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以...
转载
发布博客 2018.10.03 ·
230 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

gradle_3.1

发布资源 2018.09.25 ·
zip

java 自定义注解

1.注解分类(1).按运行机制分类     1.源码注解  只在源码中存在  元注解@Retention(生命周期)中为SOURCE     2.编译注解  存在源码和class文件中  @Retention 中为CLASS     3.运行注解  运行阶段起作用,影响运行编辑  @Retention 中为RUNTIME(2).按来源分类     1.jdk注解     2.第三方注解     3...
原创
发布博客 2018.03.04 ·
173 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

orcale数据库 update 语句报错ERROR: Cannot parallelize an UPDATE statement that updates the distribution col

ERROR: Cannot parallelize an UPDATE statement that updates the distribution columns中文解释:错误: 无法并行更新分发列的更新语句引起原因主要是你的更新语句,修改了表格的主键导致修改失败解决方式修改表格主键,改成不会被修改或者不能被改的唯一列
原创
发布博客 2018.01.18 ·
5617 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

后台servlet如何获取ajax传过来的json数组

答:

你得先获取Data2后再获取json1的json数组

回答问题 2017.07.26

java使用hibernate操作数据库jar

发布资源 2017.07.25 ·
zip

纯java项目使用hibernateSessionFactory访问数据库

package com.zz.util;import org.hibernate.HibernateException;import org.hibernate.Session;import org.hibernate.cfg.Configuration;/** * Configures and provides access to Hibernate sessions
转载
发布博客 2017.07.21 ·
2296 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

微信openId的获取

要获取微信的openid首先需要获取到code值。获取code值请求链接为https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect参数 是否必填参数
原创
发布博客 2017.07.17 ·
1799 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

微信公众号推送消息获取access_token

做公众号消息推送需要用道acces_token这是微信通过你公众号的appid和appsecrect生成的。/** * * 获取微信access_token * * @param appid * @param secret * @return * @see [类、类#方法、类#成员] */
转载
发布博客 2017.07.17 ·
3228 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

ssh框架使用源代码

发布资源 2017.07.14 ·
rar

hibernate的gethibernatetemplate find条件查询方法

Spring中常用的hql查询方法---------------------------------一、find(String queryString);     示例:this.getHibernateTemplate().find("from bean.User");     返回所有User对象二、find(String queryString ,
转载
发布博客 2017.07.13 ·
1348 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

properties文件的写入和读取

配置文件一般放一些长期不变的配置参数,当有时候我在想要去修改配置配置文件的参数。每次都手动修改是不是不太方便。还有有时候需要在程序运行时添加参数或者新建立配置文件,就找了这么个方法。/*** 实现对Java配置文件Properties的读取、写入与更新操作*/package test;import java.io.BufferedInputStream;import java.io
转载
发布博客 2017.07.13 ·
1129 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏
加载更多