- 博客(20)
- 资源 (1)
- 收藏
- 关注
原创 配置阿里云maven镜像
<?xml version="1.0" encoding="UTF-8"?><!--Licensed to the Apache Software Foundation (ASF) under oneor more contributor license agreements. See the NOTICE filedistributed with this work for additional informationregarding copyright ownershi
2020-05-29 19:57:44 539
转载 yum 安装 jdk
参考https://segmentfault.com/a/11900000153899411.查看系统版本命令cat /etc/issue2.查看yum包含的jdk版本yum list java*3.安装jdk此次选择java-1.8.0-openjdk-devel.x86_64 : OpenJDK Development Environmentyum install jav...
2020-04-26 09:54:25 2378
原创 Spring基础-IOC.md
Spring体系结构SpringCore框架最基础的部分,提供IOC和依赖注入特性SpringContextSpring上下文容器,它是BeanFactory功能加强的一个子接口SpringWeb提供Web应用开发的支持SpringMVC针对Web应用中MVC思想的实现SpringDao对JDBC抽象层,简化了JDBC编码,同时,编码更具有健壮性Spr...
2020-04-25 12:54:42 189
原创 ActiveMQ基础
什么是消息中间件?可以把消息中间件比作一个存放消息的容器,当需要使用消息的时候可以从中取出消息。 消息队列是分布式系统中的一个重要组件。它主要通过异步处理提高系统性能和削峰,降低系统耦合性。常见的消息中间件有activeMQ、rabbitMQ、rabbitMQ、kafka。我们知道队列是先进先出的数据结构,那么消费者消费消息也是按照顺序进行消费的。但是也有可能在一些情况下产生不按顺序消费的情...
2020-04-06 11:55:54 306
原创 ngnix入门
什么是Nginx服务器nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。Nginx应用静态服务器Nginx是一个http服务可以独立提供http服务,可以做网页静态服务器。反向代理服务器,实...
2020-04-04 12:46:44 1098
原创 Redis高级特性
Redis高可用主要是通过主从复制和哨兵机制以及keepalived自动重启来实现高可用。主从复制机制redis的复制功能是支持多个数据库之间的数据同步。一类是主数据库(master)一类是从数据库(slave),主数据库可以进行读写操作,当发生写操作的时候自动将数据同步到从数据库,而从数据库一般是只读的,并接收主数据库同步过来的数据,一个主数据库可以有多个从数据库,而一个从数据库只能有一个...
2020-04-01 19:34:24 82
原创 Redis基础
NoSQLnot only sql的意思,泛指非关系型的数据库。为什么使用Redis?它是一款开源key-value型内存数据库。常用于做缓存,能够减轻数据库的压力,高可用且支持高并发,性能非常高。Redis的实际应用token生成、session共享、分布式锁、自增id基本数据类型Stringset key valueget key valueHashListlpush...
2020-03-30 20:34:05 75
原创 Linux入门
Linux特点:安全,开源,免费,可靠多用户,多任务,丰富的网络功能,可靠的系统安全,良好的可移植性,具有标准兼容性,良好的用户界面,出色的速度性能,开源。Linux没有分盘的概念,位置都是从 / 开始的Linux目录 bin (binaries)存放二进制可执行文件 sbin (super user binaries)存放二进制可执行文件,只有root才能访问 ...
2020-03-29 20:33:32 85
原创 Java中的锁和原子类
可重入锁可重入锁,也叫做递归锁,指的是在同一线程内,外层函数获得锁之后,内层递归函数仍然可以获取到该锁。换一种说法:同一个线程再次进入同步代码时,可以使用自己已获取到的锁。主要作用是避免思索以及节省获取锁的时间。Synchronized 和 ReentrantLock都是可重入锁。public class SynchronizedTest { public static void ...
2020-03-28 15:55:35 519
原创 Callable和Future
Callable在Java中,创建线程一般有两种方式,一种是继承Thread类,一种是实现Runnable接口。然而,这两种方式的缺点是在线程任务执行结束后,无法获取执行结果。我们一般只能采用共享变量或共享存储区以及线程通信的方式实现获得任务结果的目的。不过,Java中,也提供了使用Callable和Future来实现获取任务结果的操作。Callable用来执行任务,产生结果,而Future用...
2020-03-28 12:45:54 136
原创 线程池
并发队列队列:先进先出,后进后出。非阻塞队列ConcurrentLinkedQueue(并发包下的)阻塞队列(BlockingQueue)ArrayBlockingQueue (java.util.concurrent)DelayedWorkQueue in ScheduledThreadPoolExecutor (java.util.concurrent)Blocking...
2020-03-26 23:04:30 80
原创 线程安全
什么是线程安全?线程安全就是,当多个线程共享一个变量时,某个线程对该变量做修改的时候受到其他线程干扰从而导致线程安全问题。比如i = i + 1;System.out.println(i);假如i是个全局变量,当其他线程也对i进行操作的时候,就会导致i的值出现和预期不符的结果。如何解决线程安全使用内置锁(synchronized )或者外置锁(Lock)synchronized :...
2020-03-26 12:47:06 81
原创 类的加载过程
首先了解下java中jvm的内存结构。图来自“纯洁的微笑”下图来源于纯洁的微笑博客类的加载过程分为加载–>连接–> 初始化其中连接又分为 验证 、准备、解析。加载、验证、准备、初始化这四个阶段发生得顺序是固定得,解析不一定,它有可能是在初始化之后才发生,这也是java中得动态绑定得基础。而且这几个过程开始得顺序是固定的,但是却不一定是按照这个顺序完成,有时他们的执行是交...
2020-03-23 16:39:21 90
原创 HashMap和HashSet底层原理
MapHashMap默认容量是16,负载因子为0.75.可以通过构造函数自定义。当数组长度超过 容量*负载 因子时,会进行扩容,扩容2倍。底层采用数组+单项链表的方式实现。即:调用put方法时,会计算key的hash值,然后对hash进行取模获取要插入的数组位置i。如果该位置已经存在链表,则会遍历链表,比较是否有相同的元素(hash相等就再比较equals),有就覆盖,没有就插入在链...
2020-03-20 16:07:53 371
原创 记一次生产问题
改完bug,自测完成,提交代码,美滋滋的点击发布。测试:“哎,我后台管理网站提交了修改,为什么前台加载的数据还是旧数据?”。我赶紧本地重新测试了一下,并没什么问题啊,于是登上服务器。检查数据源配置,没问题。列表项目检查修改的代码是否成功发布,没问题。查看后台日志,没报错。加上debug代码,打印出了执行的sql。数据库查询,前台修改的价格确实没同步到数据库,可是,为什么呢?(抓耳...
2020-03-19 14:37:15 99
原创 JAVA中的数据类型
Java语言中对于数据类型分为2种基本数据类型(一些具体的数字单元,例如 1 、 1.1、)数值型:整形:byte、 short、int、 long -->默认值:0浮点型 float、double -->默认值:0.0布尔型: boolean -->默认值:false字符型:char -->默认值’\u0000’引用数据...
2020-03-19 14:35:50 80
原创 位运算和进制转换
本文主要内容来源于Java核心技术卷一概念位运算指的是对二进制进行的计算处理。主要有 与(&)、或(|)、异或(^)、求反(~)与运算其特征为:“都是1的时候才是1”如:13 & 7 =计算过程为:13的二进制:11017的二进制: 0111得到结果 0101 转换成10进制则是5###或运算其特征为:“有一位是1结果就是1”13 | 7...
2020-03-19 14:34:58 653
原创 Java中简单的内存分析
面向对象三大特征继承封装多态类与对象类是某一类事务的共同点的抽象概念,而对象描述的是一个具体的产物。类一般会有2个组成部分属性方法定义个简单的类/*** 类:人*/public class Person { private String name; private int age; public String getName() {...
2020-03-19 14:33:20 98
原创 内存垃圾的产生
垃圾空间:所有没有任何栈内存所指向的堆内存空间,所有的内存垃圾将由GC(Garbage Collector)进行不定期回收处理,当内存垃圾过多时,会影响GC的处理性能。public static void main(String[] args) { Person p1 = new Person(); Person p2 = new Person(); ...
2020-03-19 14:31:52 157
原创 数组
数组的初始化数组的动态初始化(数组初始化完成后,数组的元素为对应的类型的默认是)数据类型 数组名称[] = new 数据类型[数组长度];int i[] = new int[10];//10个元素默认值都为0数据类型 []数组名称 = new 数据类型[数组长度];int []i = new int[10];数组的静态初始化(数组初始化完成时就定义好了每个元素的内容...
2020-03-19 14:27:35 73
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人