自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

LuuCloud

成长之路,多多指教。

  • 博客(26)
  • 问答 (1)
  • 收藏
  • 关注

原创 IDEA踩坑-类文件存在却无法引入

现象开发中有时候会遇到,一个类在项目空间中明明存在,在别的类却无法引入的情况。原因百度发现好多同学都碰到过这种问题,这是由于IDEA工具的缓存导致解决清除缓存。invalidate and restart的意思是使之失效、作废的意思。就是把以前的缓存清空。不重启不会生效。...

2021-07-14 17:08:49 7714 2

转载 jvm参数设置大全

转自:http://blog.csdn.net/kthq/article/details/8618052参数说明-Xmx3550m:设置JVM最大堆内存为3550M。-Xms3550m:设置JVM初始堆内存为3550M。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。-Xss128k:设置每个线程的栈大小。JDK5.0以后每个线程栈大小为1M,之前每个线程栈大小为...

2019-05-07 10:27:08 938

原创 Jenkins 使用scp命令进行远程文件复制

一、场景介绍项目为微服务项目,使用jenkins进行统一部署。基本思路是1. 在jenkins服务器上使用git插件拉取项目代码2. 使用进行打包3. 将打好的jar包使用scp远程复制到部署服务器上4. 执行远程shell脚本启动jar包项目二、免密scp命令copy文件时需要输入密码,然而shell脚本中对密码输入的处理还是很麻烦的。有以下两种方式:1.使用密码...

2019-04-19 16:35:52 8719

转载 Java锁实现

1、为什么要用锁?锁-是为了解决并发操作引起的脏读、数据不一致的问题。2、锁实现的基本原理2.1、volatileJava编程语言允许线程访问共享变量, 为了确保共享变量能被准确和一致地更新,线程应该确保通过排他锁单独获得这个变量。Java语言提供了volatile,在某些情况下比锁要更加方便。volatile在多处理器开发中保证了共享变量的“ 可见性”。可见性的意思是当一个...

2019-03-19 10:45:07 1817

原创 hashcode详解

一、hashcode是什么?  1、hash和hash表是什么?      想要知道这个hashcode,首先得知道hash,通过百度百科看一下                  hash是一个函数,该函数中的实现就是一种算法,就是通过一系列的算法来得到一个hash值,这个时候,我们就需要知道另一个东西,hash表,通过hash算法得到的hash值就在这张hash表中,也就是说...

2019-03-14 16:22:50 480

原创 Linux-firewalld防火墙相关命令

Centos7默认安装了firewalld,如果没有安装的话,可以使用 yum install firewalld firewalld-config进行安装。1.启动防火墙systemctl start firewalld2.禁用防火墙systemctl stop firewalld3.设置开机启动systemctl enable firewalld4.停止...

2019-03-14 10:00:52 244

原创 并发编程-CAS

前言概述CAS的目的CAS存在的问题concurrent包的实现前言在JDK 5之前Java语言是靠synchronized关键字保证同步的,这会导致有锁锁机制存在以下问题:(1)在多线程竞争下,加锁、释放锁会导致比较多的上下文切换和调度延时,引起性能问题。(2)一个线程持有锁会导致其它所有需要此锁的线程挂起。(3)如果一个优先级高的线程等待一个优先级低的线...

2019-03-12 14:35:43 185

原创 JVM调优-工具篇(1)

jvm监控分析工具一般分为两类,一种是jdk自带的工具,一种是第三方的分析工具。jdk自带工具一般在jdk bin目录下面,以exe的形式直接点击就可以使用,其中包含分析工具已经很强大,几乎涉及了方方面面,但是我们最常使用的只有两款:jconsole.exe和jvisualvm.exe;第三方的分析工具有很多,各自的侧重点不同,比较有代表性的:MAT(Memory Analyzer...

2019-03-12 10:50:33 115

原创 关于mysql事务行锁for update实现写锁的功能

在电子商务里,经常会出现库存数量少,购买的人又特别多,大并发情况下如何确保商品数量不会被多次购买.其实很简单,利用事务+for update就可以解决.我们都知道for update实际上是共享锁,是可以被读取的.但是如何在执行时,不被读取呢.简单来说:假设现在库存为1,现在有A和B同时购买先开启一个事务begin;select stock from good where ...

2019-03-12 10:49:02 749 1

原创 String字符串拼接方式及效率问题

本文,也是对于Java中字符串相关知识的一个补充,主要来介绍一下字符串拼接相关的知识。本文基于jdk1.8.0_181。一、字符串拼接字符串拼接是我们在Java代码中比较经常要做的事情,就是把多个字符串拼接到一起。我们都知道,String是Java中一个不可变的类,所以他一旦被实例化就无法被修改。不可变类的实例一旦创建,其成员变量的值就不能被修改。这样设计有很多好处,比如可以缓存h...

2019-03-12 10:48:54 7480

原创 深入理解java 线程池

在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:  如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。  那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?  在Java中可以通过线程池来达到这样...

2019-03-12 10:48:41 116

原创 线程池原理及使用-源码

目录: 一.Java中的ThreadPoolExecutor类  二.深入剖析线程池实现原理  三.使用示例 一.Java中的ThreadPoolExecutor类  java.uitl.concurrent.ThreadPoolExecutor类是线程池中最核心的一个类,因此如果要透彻地了解Java中的线程池,必须先了解这个类。下面我们来看一下ThreadPo...

2019-02-22 16:10:16 120

原创 jdk1.8 HashMap 源码解读

一,HashMap的中的概述 在JDK1.8之前,HashMap中中中采用数组+链表实现,即使用链表处理冲突,同一散列值的节点都存储在一个链表里。但是当位于一个桶中的元素较多,即哈希值相等的元素较多时,通过密钥值依次查找的效率较低。而JDK1.8中,哈希映射中采用数组+链表+红黑树实现,当链表长度超过阈值(8)时,将链表转换为红黑树,这样大大减少了查找时间。 下图中代表...

2018-12-21 16:56:22 201

原创 spring boot项目中处理Schedule定时任务

项目中,因为使用了第三方支付(支付宝和微信支付),支付完毕后,第三方支付平台一般会采用异步回调通知的方式,通知商户支付结果,然后商户根据通知内容,变更商户项目支付订单的状态。一般来说,为了防止商户项目自身因为一些特殊原因,比如正好当时网络状态不稳定,商户回调接口无法访问,或者商户回调接口出现异常。第三方支付平台,一般会发送多次请求来尽量确保通知到商户系统。但是,总会有各种各样的情况,导致,第三...

2018-10-30 14:49:31 285

原创 redis 开机自启配置

1、为了让redis-server能在系统启动时自动运行,需要将redis服务作为守护进程(daemon)来运行,找到一个redis.conf的文件,这个文件是redis服务运行时加载的配置,我们先观察一下其中的内容此文件内容非常长,但是大部分是注释,我们重点关注其中的几个设置daemonize和pidfile:其中daemonize默认值是false,pidfile默认值是pidfile /va...

2018-06-22 16:32:07 1968 2

原创 Linux 安装redis (图文详解)

1、下载http://redis.io/download2、解压至任一目录tar xzf redis-4.0.10.tar.gz3、编译并安装mv redis-4.0.10 rediscd redis-4.0.10make cd srcmake install PREFIX=/usr/local/redis注意:make编译如果失败,因为没有安装gcc服务yum install gcc云安装...

2018-06-22 11:24:45 188

原创 Linux 下安装Nginx,配置自启动

安装所需环境Nginx 是 C语言 开发,建议在 Linux 上运行,当然,也可以安装 Windows 版本,本篇则使用CentOS7 作为安装环境。一. GCC——GNU编译器集合(GCC可以使用默认包管理器的仓库(repositories)来安装,包管理器的选择依赖于你使用的Linux发布版本,包管理器有不同的实现:yum是基于Red Hat的发布版本;apt用于Debian和Ub...

2018-06-09 17:22:54 32090 7

原创 Linux tomcat 自启动配置

很多办法可以让Tomcat在系统启动的时候自动运行,一种简单,另外一种复杂而专业。一. 简单的方法Tomcat安装目录下的bin目录有两个脚本分别用来启动和停止Tomcat,分别是startup.sh, shutdown.sh,你可以用这两个脚本来手工启动和停止Tomcat服务并进行安装后的测试。我们最简单的方法就是通过startup.sh来自动启动Tomcat,编辑/etc/rc.d/rc.lo...

2018-06-09 15:42:25 343

转载 Linux目录结构详解

一、Linux目录结构蓝色:表示目录青色:表示链接黑色:表示文件1、/- 根每一个文件和目录从根目录开始。只有root用户具有该目录下的写权限。请注意,/root是root用户的主目录,这与/.不一样2、/bin中 - 用户二进制文件包含二进制可执行文件。在单用户模式下,你需要使用的常见Linux命令都位于此目录下。系统的所有用户使用的命令都设在这里。例如:ps、ls、ping、grep、cp3、...

2018-06-09 10:37:36 167

原创 Linux安装tomcat,配置环境变量

一、 安装tomcat需要先配置jdk,所以没有配置jdk同学,先移步Linux安装JDK二、卸载tomcat检查linux是否安装tomcatrpm -qa|grep tomcat查看下系统信息,确认是32位还是64位:uname -a输入rpm -qa|grep tomcat如果有通过rpm -e `rpm -qa|grep tomcat`(或rpm -e 加上面rpm...

2018-05-27 09:57:49 171571 17

转载 MySql修改默认端口

1. 登录mysql  [root@test /]# mysql -u root -p  Enter password:  2. 使用命令show global variables like 'port';查看端口号  mysql> show global variables like 'port';  +---------------+-------+  | Variable_name |...

2018-05-24 17:48:38 64872 1

原创 CentOS7 64位下MySQL5.7安装与配置(YUM)

1、配置YUM源在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo/yum/# 下载mysql源安装包shell> wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm# 安装mysql源shell> yum lo...

2018-05-24 17:40:31 152

原创 tomcat在linux启动应用慢解决方式,通过rng-tools自动补充熵池

详解熵池熵池本质上是若干字节。/proc/sys/kernel/random/entropy_avail中存储了熵池现在的大小,/proc/sys/kernel/random/poolsize是熵池的最大容量,单位都是bit。如果entropy_avail的值小于要产生的随机数bit数,那么/dev/random就会堵塞。那么,为什么熵池不够用呢?google了一下资料,熵池实际上是从各种no...

2018-05-24 09:57:58 6733

原创 linux安装、卸载jdk及配置环境变量

一、查看Jdk的安装路径:whereis javawhich java (java执行路径)echo $JAVA_HOMEecho $PATH二、卸载旧版本的JDK:1. 确定JDK的版本:rpm -qa | grep jdkrpm -qa | grep gcj结果:copy-jdk-configs-2.2-5.el7_4.noarchjava-1.8.0-openjdk-headless-de...

2018-05-20 18:05:18 42933 2

原创 xshell连接Linux,禁止帐号密码验证 使用key验证方式登录SSH

在我们平时使用Linux系统时候,通常使用的Linux SSH登录方式是用户名加密码的登录方式,今天来探讨另外的一种相对安全的登录方式——密钥登录。我们知道SSH登录是用的RSA非对称加密的,所以我们在SSH登录的时候就可以使用RSA密钥登录,SSH有专门创建SSH密钥的工具ssh-keygen,下面就来一睹风采。首先进入Linux系统的用户目录下的.ssh目录下,root用户是/root/.ss...

2018-05-20 15:22:57 6646

转载 电脑怎么进入BIOS的方法集合

        现在电脑品牌上百种,每种品牌又有各种类型,所以BIOS的类型也是成百上千,因为BIOS是在DOS下面的,而且现在的BIOS大多数都是以英文为主,BIOS又是整个系统中最神密最难掌握的,所以很多想自已装系统的或想进行忧化BIOS设置的网友都望而却步,别说怎样设置BIOS,有的电脑就算进入BIOS都是一件伤脑筋的事。我经常与BIOS打交道,见过各种各样的BIOS,今天我就把怎样进入BI...

2018-05-11 17:54:38 2526

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除