
java
文章平均质量分 56
热恋的马
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Volatile学习
Volatile1 JMM1.1 JMM定义JMM(Java 内存模型) 本身是一种抽象的概念(并不真实存在),它描述的是一组规范或规则,通过这组规范定义了程序中各个变量(包括实例字段、静态字段和构成数组对象的元素)的访问方式1.2 JMM关于同步的规定线程解锁前,必须把共享变量的值刷新回主内存线程加锁前,必须读取主内存的最新值到自己的工作内存加锁解锁是同一把锁由于JMM运行程序的实体是线程,而每个线程创建时JVM都会为其创建一个工作内存(栈空间),工作内存是每个线程的私有数据区域,而J原创 2021-03-20 01:02:31 · 533 阅读 · 0 评论 -
java多线程
一、多线程1.1 线程和进程操作系统可以同时执行多个任务,每个任务就是一个进程;进程可以同时执行多个任务,每个任务就是一个线程。进程:当一个程序进入内存运行时,就是一个进程。进程是系统进行资源分配和调度的一个独立单位。具有独立性,进程是系统中独立存在的实体,拥有自己独立的资源,每一个进程都拥有自己独立的内存空间。具有动态性:进程是系统中正在活动的指令集合,程序只是一个静态的指令集具有并发性:多个进程可以在单个处理器上并发执行,多个进程之间不会相互影响线程:线程是进程的执行单位,一个进程至少原创 2020-08-15 23:25:09 · 286 阅读 · 0 评论 -
JVM内存模型、垃圾回收、类加载机制
一、内存模型jvm内存模型在 java7 和 java8 有了一些变化,java7中,方法区实际还是存储在虚拟机堆区中,但在java8开始,方法区存储在了元空间中位于操作系统内存中,但是串表还是在堆区的。1.1 非线程私有非线程私有内存区,允许被所有线程共享访问。Java 堆区在在 JVM 启动的时候被创建,用于存储对象实例的内存区,堆区又分为新生代和老年代。堆的大小在 JVM 启动的时候就已经设定好了,可以通过选项 “-Xmx” 和 “-Xms” 来设置 ,"-Xmx" 表示堆区的起始内存,"-原创 2020-08-13 01:03:34 · 634 阅读 · 0 评论 -
集合
集合使用集合会产生的问题对于ArrayList、HashMap等这种常用的非线程安全的集合,在高并发中使用时,会出现多线程环境下的安全问题。一、概述Java中的集合类主要由两个接口派生而出:Collection 和 Map,Collection 和 Map 是 Java 集合框架的根接口。三种集合的示意图:从图中可知,如果访问 List 集合,可以直接根据元素索引来访问;如果访问 Map 集合中的元素,可以根据每项元素的 key 来访问其 value ;如果访问 Set 集合中的元素,则只能根据原创 2020-08-11 15:53:20 · 215 阅读 · 0 评论 -
打包普通web项目为war包
idea打包普通web项目为war包,并放到Linux中运行。1、首先你需要有一个web项目(敲黑板)2、然后点击 File-Project Structure(或者按快捷键Ctrl+Alt+Shift+S)3、然后点击Artifacts菜单4、然后添加要打包的项目(+号 + Web Application: Archive,选中要打包的项目)5、点击 Apply 再点击OK,然后到输出目录找到 war 包,这时就打包成功了6、然后部署到tomcat中,Windows原创 2020-05-15 01:19:00 · 1426 阅读 · 0 评论 -
使用SpringCloudConfig连接git报错Cannot clone or checkout repository:xxx
配置中心使用 git@github.com:用户名/仓库名.git 作为uri地址时,配置中心客户端访问报错由于访问git时,使用https(例如:https://github.com/用户名/仓库地址.git)的uri访问不用进行验证,但是使用ssh(例如:git@github.com:用户名/仓库地址.git)的uri访问时需要进行验证,所以需要修改一下配置中心的配置文件参考文档:...原创 2020-03-27 16:20:21 · 5612 阅读 · 0 评论 -
社招遇到的面试题:比较1000个不重复字符串的相似度并输出前五个
记录一道面试题,大致意思就是,在Linux系统环境下,随机生成长度为n的1000个不重复的字符串,随机取其中一个字符串,与其它字符串进行相比较,连续相似的字符串越相似,取相似度最高的前五个并输出,请编程!个人解题思路:先生成1000个不重复的字符串(当时考虑到两种情况,一种是通过循环和随机数,从26个英文字母中通过循环和随机数获取到不同的字母拼接再拼接4个不同的字符串,并存储到HashSet中...原创 2019-12-21 22:04:17 · 373 阅读 · 0 评论