自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

春风化雨

用心做事

  • 博客(38)
  • 资源 (10)
  • 收藏
  • 关注

原创 JAVA无锁的线程安全整数 AtomicInteger与有锁对照

    JAVA 中无锁的线程安全整数 AtomicInteger,是一个提供原子操作的Integer的类。在Java语言中,++i和i++操作并不是线程安全的,在使用的时候,不可避免的会用到synchronized关键字,因为无论是++i还是i++,都是分多步操作,首先获取,然后自增,然后将自增后的和值赋予原来的值,故多线程下不安全。而AtomicInteger则通过一种线程安全的加减操作接口。...

2018-07-31 23:53:23 1051

转载 Java内部类详解_四种内部类

一.内部类基础  在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。广泛意义上的内部类一般来说包括这四种:成员内部类、局部内部类、匿名内部类和静态内部类。下面就先来了解一下这四种内部类的用法。  1.成员内部类  成员内部类是最普通的内部类,它的定义为位于另一个类的内部,形如下面的形式: 1 2 3 4 5 ...

2018-07-31 23:22:38 1332

原创 JAVA 日期Date加减整理

一、充分利用SimpleDateFormatimport java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;public class DateTestUtil { public static void main(String[] args) throws Exception...

2018-07-30 23:16:25 49441 1

原创 JAVA DateUtils工具类

直接贴代码,后续继续更新...import java.text.ParseException;import java.util.Calendar;import java.util.Date;import org.apache.commons.lang3.StringUtils;import org.apache.commons.lang3.time.DateFormatUtils;...

2018-07-30 23:09:52 2414 4

转载 40个java集合面试题目与答案整理

Java集合框架为Java编程语言的基础,也是Java面试中很重要的一个知识点。这里,我列出了一些关于Java集合的重要问题和答案。  1.Java集合框架是什么?说出一些集合框架的优点?  每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Array。随着集合的广泛使用,Java1.2提出了囊括所有集合接口、实现和算法的集合框架。在保...

2018-07-30 23:01:15 557

转载 Java 集合转换(数组、List、Set、Map相互转换)

文章源自:https://blog.csdn.net/top_code/article/details/10552827略作修改,并打印输出结果import java.util.ArrayList;import java.util.Arrays;import java.util.HashMap;import java.util.HashSet;import java.util....

2018-07-29 00:02:29 626

原创 JAVA之Map 遍历的四类方法整理

java中的map遍历有多种方法,从最早的Iterator,到java5支持的foreach,再到java8 Lambda,让我们一起来看下具体的用法以及各自的优缺点首先,初始化一个mappublic class TestMap { public static Map<Integer, Integer> map = new HashMap<Integer, Inte...

2018-07-28 23:36:44 749

转载 Java高级开发工程师面试考纲

1、Java基础1.1 Collection和Map(1)掌握Collection和Map的继承体系。(2)掌握ArrayList、LinkedList、Vector、Stack、PriorityQueue、HashSet、LinkedHashSet、TreeSet、HashMap、LinkedHashMap、TreeMap、WeakHashMap、EnumMap、TreeMap、Ha...

2018-07-27 16:57:50 536

转载 JVM知识点总览:高级Java工程师面试必备

1、什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性。2、Java代码是怎么运行的...

2018-07-27 09:29:52 446

转载 浅谈JavaWeb项目代码如何分层

代码分层,对于任何一个Java Web开发来说应该都不陌生。一个好的层次划分不仅可以能使代码结构更加清楚,还可以使项目分工更加明确,可读性大大提升,更加有利于后期的维护和升级。 从另外一个角度来看,好的代码分层架构,应该是可以很好的匹配上单一职责原则的。这样就可以降低层与层之间的依赖,还能最大程度的复用各层的逻辑。本文就来介绍下Java Web项目的代码到底应该如何分层。三层架构在软件...

2018-07-23 14:04:56 17802 1

转载 为什么需要RPC,而不是简单的HTTP接口

目前有很多Java的RPC框架,有基于Json的,有基于XML,也有基于二进制对象的。1、复杂度:RPC框架肯定是高于简单的HTTP接口的。2、效率:但毋庸置疑,HTTP接口由于受限于HTTP协议,需要带HTTP请求头,导致传输起来效率或者说安全性不如RPC。现在问题是,遇到怎样的瓶颈了才需要或者说更适合用RPC(比如像阿里这么大的请求并发量,简单的HTTP肯定达不到预期),但问题是大...

2018-07-22 01:33:21 612

原创 java中String类设计成不可变的原因

1.什么是【不可变】?    String不可变很简单,如下图,给一个已有字符串“abcd”第二次赋值成"abced",不是在原内存地址上修改数据,而是重新指向一个新对象,新地址。2.String为什么不可变?从原理上分析。    翻开JDK源码,java.lang.String类起手前三行,是这样写的:public final class String implements...

2018-07-22 00:55:08 6320 3

转载 35个Java代码性能优化总结

前言  代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考虑每...

2018-07-22 00:27:04 501

转载 BlockingQueue的原理及使用方法

1.前言:     在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。2.认识BlockingQueue     阻塞队列,顾名思义,首先它是一个队列,而...

2018-07-20 18:05:40 6235

原创 使用JDK之信号量(Semaphore)控制线程并发数量和接口请求次数

    无论是内部锁synchronized,还是重入锁ReentrantLock,一次都只允许一个线程访问一个资源,而信号量却可以实现指定多个线程同时访问某一个资源。1.构造函数public Semaphore(int permits)public Semaphore(int permits,boolean fair); //第二个参数指定是否公平,参见公平锁在构造信号量时,必须...

2018-07-20 17:13:08 3174

原创 mysql常用运维管理命令与mysql workbench工具

1、Sql脚本管理    mysql -uroot -h192.168.250.91 -p密码1)查看执行比较久的事物:SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX;  2)查看正在锁的事务SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;  3)查看等待锁的事务SELECT * FROM INFORMATION_...

2018-07-15 23:10:10 963

原创 mysql账号权限管理常用命令

  Mysql 的管理 services.msc#第一、更改用户密码,刷新权限update mysql.user set password=password('新密码') where user='用户名'flush PRIVILEGES#第二、创建用户CREATE USER 'username'@'host' IDENTIFIED BY 'password'; #第三、授权grant all on...

2018-07-15 23:05:18 448

原创 ElasticSearch优化

待整理...

2018-07-15 22:40:32 601

原创 Elasticsearch常用脚本

1、检测集群是否健康。 确保9200端口号可用GET http://192.168.251.7:9200/_cat/health?vcurl http://192.168.251.7:9200/_cat/health?v2、获取集群的节点列表GET http://192.168.250.101:9200/_cat/nodes?v3、列出所有索引GET http://...

2018-07-15 22:39:15 3544

原创 elasticsearch数据备份和恢复

备份步骤:1、设置备份目录(用于存储备份文件):进入es安装目录下面的config,编辑elasticsearch.yml加入:path.repo: ["/usr/local/backups/es_backup"]/usr/local/backups/es_backup:备份目录,根据自己情况进行填写重启elasticsearchchmod 755/usr/local/backups/e...

2018-07-15 22:35:18 11390 3

原创 elasticsearch 操作Demo

引入maven依赖<dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>rest</artifactId> <version>5.5.0</version></dependency&

2018-07-15 22:32:39 1303

原创 elasticSearch使用

一 首先创建一个索引:curl -XPUT "http://192.168.43.125:9200/userindex" 返回 {"acknowledged":true,"shards_acknowledged":true}二 现在只创建了一个索引,并没有设置mapping,查看一下索引mapping的内容curl -XGET http://192.168.43.125:9200/userin...

2018-07-15 22:31:26 321

原创 安装ElasticSearch6.1

1、操作系统centos6以上、最低 4G内存, 2、必须是Java1.8.0_73以上 第一步下载并安装JDKwgethttp://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz设...

2018-07-15 22:29:25 1367

原创 tomcat重启可复制脚本

说明:将下面脚本复制到任意tomcat/bin/目录下,便可以对此tomcat控制重启的效果;可以就下面脚本创建软链接到环境变量(PATH)中,注意:日志名称若不是catalina.out,需修改;#!/bin/bash#tomcat restartcd $(dirname $0)cd ..tom=`pwd`pid=`ps aux |grep java |grep $tom|awk '{...

2018-07-14 00:20:47 591

原创 tomcat定时重启

总共两步:一,编写脚本;二,配置定时任务1.编写shell脚本脚本命名为restart.sh#!/bin/sh #初始化全局环境变量 . /etc/profile #查找tomcat的pid pid=`ps aux | grep tomcat | grep -v grep | grep -v Restart | grep -v restart | awk '{print $2}'` echo "t...

2018-07-14 00:19:09 777

原创 快速给数据库大表添加字段或索引方法

第一,基础方法增加字段基本方法,该方法适合十几万的数据量,可以直接进行加字段操作。1ALTER TABLE tbl_tpl ADD title(255) DEFAULT '' COMMENT '标题' AFTER id;但是,线上的一张表如果数据量很大,执行加字段操作就会锁表,这个过程可能需要很长时间甚至导致服务崩溃,那么这样操作就有风险。第二,临时表方法思路如下:① 创建一个临时的新表,首先复制...

2018-07-14 00:14:25 11009 3

原创 find 命令 以时间为条件查找

以时间为条件查找-amin n 查找n分钟以前被访问过的所有文件。-atime n 查找n天以前被访问过的所有文件。-cmin n 查找n分钟以前文件状态被修改过的所有文件。-ctime n 查找n天以前文件状态被修改过的所有文件。-mmin n 查找n分钟以前文件内容被修改过的所有文件。-mtime n 查找n天以前文件内容被修改过的所有文件。-print:将搜索结果输出到标准输出。...

2018-07-14 00:10:58 8946

原创 history命令附加时间

1.在/etc/profile的最后添加如下部分: #USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`  #export HISTTIMEFORMAT="[%F %T][`whoami`][${USER_IP}] " 这个一条就okexport HISTTIMEFORMAT="[%F %T][`wh...

2018-07-14 00:09:44 487

原创 Redis集群重启

机器ip 192.168.251.51以下,为伪集群模式,redis服务重启流程演示:第一步 查看所有redis进程 [root@i-netlrktd ~]# ps -ef|grep redisroot 1477 1 0 Aug09 ? 00:02:06 redis-server *:6371 [cluster]root 148...

2018-07-13 23:24:58 24133 6

原创 redis配置信息

1、根据redis日志,对系统参数优化1.1、编辑/etc/sysctl.conf,增加以下对应配置:#内存分配策略 1表示内核允许分配所有的物理内存,而不管当前的内存状态如何vm.overcommit_memory=1#系统默认的128,限制了接收新 TCP 连接侦听队列的大小net.core.somaxconn = 2048然后执行sysctl -p,使生效1.2、修改文件数,文件数限...

2018-07-13 23:22:17 607

原创 Redis集群版本升级

Redis集群版本由3.0.7升级到3.2.10。1、版本升级问题及对应解决方案1.1、代码是否支持redis 3.2.10,是否需要升级对应jar包?             a) 先在测试环境部署对应新版集群3.2.10,使用代码进行连接,测试是否存在问题(具体过程参见2);1.2、怎么保证redis平滑升级,对外服务透明?           a) 利用redis集群的特性,每个卡槽包含ma...

2018-07-13 23:21:29 9836 1

原创 redis安装与集群

redis3.2.9集群部署1.注意事项1.1不支持多键操作Redis 集群不支持那些需要同时处理多个键的 Redis 命令, 因为执行这些命令需要在多个 Redis 节点之间移动数据, 并且在高负载的情况下, 这些命令将降低 Redis 集群的性能, 并导致不可预测的行为。1.2集群大小的伸缩这种将哈希槽分布到不同节点的做法使得用户可以很容易地向集群中添加或者删除节点。 比如说:如果用户将新节点...

2018-07-13 23:20:46 318

原创 产品上线规范

上线发布流程图流程图说明l  配置管理员在Git中创建版本库:预发布库(dev)和正式发布库(master);在预发布库中创建项目名称,按照项目分配权限,创建完成后邮件通知项目组成员git分支仓库地址。l  开发人员编译调试上线版本,本地验证通过后,将代码上传至Git预发布库对应项目中,注意要标明具体的版本号,方便版本进行追溯,上传完成后通过邮件发送Git版本库地址,通知配置版本和测试人员获取。l...

2018-07-13 23:12:25 4242

原创 git使用管理

一、分支命名1.1主分支  ① master :随时可供在生产环境中部署的代码,禁止在master开发功能,除非修改生产bug  ② dev分支: 开发分支保存当前稳定并且最新的开发分支(多人开发同一分支)       ③  新分支命名好有业务功能命名、新分支开发完成新功能后要及时删除分支,       ④  新建新分支一定是从master分支上新建产生 1.2 本地提交       ①   开发...

2018-07-13 16:31:04 549

原创 msql开发规范

(一) 建表规约1. 【强制】表达是与否概念的字段,必须使用is_xxx的方式命名,数据类型是unsignedtinyint ( 1表示是,0表示否),此规则同样适用于odps建表。 说明:任何字段如果为非负数,必须是unsigned。2. 【强制】表名、字段名必须使用小写字母或数字;禁止出现数字开头,禁止两个下划线中间只  出现数字。数据库字段名的修改代价很大,因为无法进行预发布,所以字段名称需...

2018-07-13 14:26:09 451

原创 研发数据统计

项目频次负责人发布时间需求次数统计每周记录    每月发布一次上线次数统计         每周记录            每月发布一次事故次数统计         每周记录           每月发布一次生产bug次数           每周记录     每月发布一次测试环节bug统计   每周记录     每月发布一次需求完成时长统计 每月记录  每月发布一次解决问题次数统计 每周记录  ...

2018-07-13 11:42:08 795

原创 项目研发规范

1、开发负责人     采用负责人制度。负责人负责整个研发过程控制、管理,及监控,需求不论简单还是复杂,都需要指定负责人。负责人主动牵头推动研发项目的各个环节2、需求评审     负责需要对产品的需求文档评审,评审通过方可开发,     需求文档包括 PRD文档评审 FSD评审 UI评审 原型评审。尽最大努力保证需求的可实施、可开发,可明确,     杜绝、避免在开发过程中更改需求,调整需求,如果...

2018-07-12 14:24:02 2654

原创 java.net.BindException: 地址已在使用

java.net.BindException: 地址已在使用,也可以说是端口被占用,通常出现在启动服务的时候。1、出错地方如图所示:2、执行netstat -alnp | grep 8205,查询占用端口的进程。3、kill - 9  8205。4、其他的服务占用了端口,或关闭或,修改当前tomcat的端口号。...

2018-07-12 11:20:24 10031

wsl_update_x64.msi

wsl_update_x64.msi

2022-08-26

tap-windows-9.21.2.zip

tap-windows-9.21.2.zip

2021-12-30

微软常用运行库合集64位系统.rar

微软常用运行库合集_2019.07.20_X64,解决常用软件安装缺少依赖的问题;避免手动查询具体依赖,以及最新版软件依赖变更后问题不能结局的情况。

2020-04-17

redis-3.3.3.rar

redis-3.3.3.gem,已打成压缩包,用于redis集群部署,预装插件,很好的支持redis完成集群操作。

2019-09-02

Microsoft Visual C++ 14.0

Microsoft Visual C++ 14.0,提供多种软件安装的提前提插件

2019-04-30

ezmorph-1.0.2.jar

ezmorph-1.0.2.jar,JAR包,最新

2014-08-21

json-lib-2.1-jdk15.jar

json-lib-2.1-jdk15.jar

2014-08-21

优化SQL效率

优化SQL语句提高oracle执行效率(34种方法),提高你的sql执行效率,特别针对大数据。

2013-09-06

jQuery_LigerUI

最全的最实用jquery制作demo,网站模板。超级给力

2012-03-21

空空如也

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

TA关注的人

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