- 博客(16)
- 资源 (1)
- 收藏
- 关注
转载 Java的并发编程(一)JVM的内存区域划分
要使用Java并发编程,首先需要对操作系统的进程和线程的概念有所掌握,了解Java的线程和进程的创建方式,并且对于JVM的内存区域划分也要知道。下面就介绍一下JVM的内存区域划分。JVM的内存区域划分Java程序的具体执行过程首先来了解Java程序的具体执行过程,首先Java编译器编译.java文件,得到Java字节码文件.class。编译完成后交给Java虚拟机中的类加载器加载各类的字节码文件,加载完毕后,交给JVM执行引擎执行。在整个程序执行过程中,JVM会用一段空间来存储程序执行期
2022-01-16 14:48:58 93
原创 项目实战:统计图(近一年的任务人员出席率,费用)
概述:不知道各位在做需求时,是否会碰到这样的场景:统计某个机构下的所有人员近一年(一个时间段)的出勤率,出勤费用。我在做项目的时候,经常会碰到这种需求,之前在网上找到过某种实现方式,但是太过繁琐,这一次又碰到了,所以就记录一下,以后再碰到类似的可以进行复用。这一次我用到的方式是先用Java计算出要统计的这个时间段的开头和结尾的月份,比如近一年,那以这个月开始就是,2021-1 ~ 2021-12 。这样就先得到了这个时间段。Java代码实例: /** * 获取当..
2021-12-16 11:56:20 1312
原创 缓存 - 分布式锁原理和使用,Redisson
高并发下的缓存问题缓存穿透缓存和数据库中都没有的数据缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中,将去查询数据库,但是数据库也无此记录,这就导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。如果利用不存在的数据进行攻击,数据库瞬时压力增大,最终导致崩溃可以把结果null缓存,并加入短暂过期时间缓存雪崩是不同数据都过期了,很多数据都查不到从而查数据库缓存雪崩是指我们设置缓存时key采用了相同的过期时间,导致缓存在某一时刻同时失效,请求全部转发到存储
2021-09-28 19:35:08 148
原创 开发中如何选择集合类以及TreeSet和TreeMap
主要取决于业务特点,然后根据实现类特性进行选择:先判断存储的类型(一组对象【单列】或一组键值对【双列】) 一组对象:Collection接口 允许重复:List 增删多:LinkedList(底层维护了一个双向链表) 改查多:ArrayList【底层维护Object类型的可变数组】 不允许重复:Set 无序:HashSet 【底层是HashMap,维护了一个哈希表 即(数组+链表+红黑树)】 排序:TreeSet 插入和取出顺序一致:LinkedHashSet,维
2021-09-07 20:58:11 63
原创 Java基础 - Map
Map接口特点Map与Collection并列存在,用于保存具有映射关系的数据:Key-Value(双列元素) Map中的key和value可以是任何引用类型的数据,会封装到HashMap$Node对象中 Map中的key不允许重复,原因和HashSet一样 Map中的value可以重复 Map中的key可以为null,value也可以为null;但是key只有有一个为null,而value为null则可以有多个 常用String类作为Map的key key和value之间存在单向一对一
2021-09-07 20:57:15 162
原创 Linux日常部署用到的命令
查找:find / -name 1.txt 在根目录下开始寻找1.txtfind /root -name *1.txt 从root目录下开始寻找 带有名称1的txt文件find /home/deploy/ -name "*" | xargs grep "user" 查找/home/deploy目录下包含user的文件删除:功能说明:删除文件或目录。语 法:rm[-dfirv][--help][--version][文件或目录...]补充说明:执行rm指令可删除文件或目录...
2021-09-02 11:40:49 290
原创 Nginx搭建域名访问环境
本地的服务,想要用一个域名来访问,而不用ip。这时需要用到nginx来进行反向代理。可通过windows修改hosts文件,来访问nginx,再通过nginx去反向代理访问服务。nginx下的配置解析:user nginx;worker_processes 1;error_log /var/log/nginx/error.log warn;pid /var/run/nginx.pid;events { worker_connections .
2021-08-09 22:29:52 838
原创 ElasticSearch
ElasticSearch概念-基础概念Elasticsearch 索引是什么?Elasticsearch索引指相互关联的文档集合。Elasticsearch 会以 JSON 文档的形式存储数据。每个文档都会在一组键(字段或属性的名称)和它们对应的值(字符串、数字、布尔值、日期、数值组、地理位置或其他类型的数据)之间建立联系。Elasticsearch 使用的是一种名为倒排索引的数据结构,这一结构的设计可以允许十分快速地进行全文本搜索。倒排索引会列出在所有文档中出现的每个特有词汇,...
2021-08-07 12:34:36 88
原创 Java基础 - Set(二)
HashSet底层机制说明分析HashSet扩容和转成红黑树机制以下为结论:代码演示分析:public static void main(String[] args) { HashSet set = new HashSet(); // 扩容 for(int i=0; i<100; i++) { set.add(i); } set = new HashSet();..
2021-06-22 00:03:37 189 3
原创 Java基础 - Set (一)
Set接口基本介绍无序(添加和取出的顺序不一样),没有索引 不允许重复元素,最多包含一个null 实现类有HashSet,
2021-06-15 23:55:38 174
转载 Java基础- this和对象
本质和子类调用方法给父类传参一样一样的!只不过传参的过程很特殊:new的时候自动传参,不是我们主动调用,所以感知不到 Java中的this是隐式传递的,所以我们更加注意不到了
2021-05-29 19:00:50 71
转载 Java基础 - 注解
分类大致分为三类:自定义注解、JDK内置注解、还有第三方框架提供的注解。自定义注解就是我们自己写的注解,比如@UserLog JDK内置注解,比如@Override检验方法重写,@Deprecated标识方法过期等 第三方框架定义的注解比如SpringMVC的@Controller等...
2021-05-29 18:20:25 80
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人