- 博客(54)
- 收藏
- 关注
原创 java锁
如果一系列的连续操作都对同一个对象反复加锁和解锁,甚至加锁操作都是出现在循环体体之中,就算真的没有线程竞争,频繁地进行互斥同步操作将会导致不必要的性能损耗,所以就采取了一种方案:把加锁的范围扩展(粗化)到整个操作序列的外部,这样加锁解锁的频率就会大大降低,从而减少了性能损耗。如线程A持有资源x,线程B持有资源y,线程A等待线程B释放资源y,线程B等待线程A释放资源x,两个线程都不释放自己持有的资源,则两个线程都获取不到对方的资源,就会造成死锁。只能有一个线程获取锁,以独占的方式持有锁。
2024-10-28 18:08:00 762
原创 java基础
当发生哈希冲突时,即不同的键具有相同的哈希值,HashMap 会在哈希表的每个桶(bucket)中维护一个链表(或者在链表长度较长的情况下,可以转换为红黑树)来存储具有相同哈希值的键值对。为了更准确和高效地处理金额,通常使用专门的数值类型或类,例如 Java 中的BigDecimal,它提供了高精度的数值计算功能,能够避免常见的数值计算问题。与StringBuilder类似,也是可变的,但是它是线程安全的,所有的方法都是同步的。独立性:创建独立的副本,避免对原始对象的修改影响到其他使用该对象的部分。
2024-10-28 15:02:47 964
原创 Redis
Redis 是Remote Dictionary Server(Redis) 的缩写,C语言编写、BSD协议、支持网络、可基于内存亦可持久化的日志型的Key-Value数据库,并提供多种语言的API。它是一种 NoSQL(not-only sql,泛指非关系型数据库)的数据库,可用作数据库、缓存、消息中间件、分布式锁等。性能优秀,数据在内存中,读写非常快,支持并发 10W QPS(每秒查询量)。单进程单线程,线程安全的,采用 IO 多路复用机制。
2024-10-28 11:54:53 831
原创 Ubuntu安装nginx
Ubuntu安装nginx原创疯一样的雨发布于2018-08-16 17:58:03阅读数 2237收藏展开简介:是一个异步框架的Web服务器,也可以用作反向代理。现在常用在web服务器中,本文章介绍如何安装nginx.安装gcc和g++apt-get install build-essential1apt-get install libtool1...
2019-12-11 19:27:03 205
原创 linux 安装ngnix
安装路径: /usr/local/nginx一、前期准备(1)安装依赖yum install -y gcc gcc-c++ #编译依赖yum install -y pcre pcre-devel openssl openssl-devel zlib zlib-devel #nginx依赖(2)下载nginx源码包并解压cd downloadwget https://nginx...
2019-12-11 16:18:30 177
原创 mysql linux安装
1系统约定安装文件下载目录:/data/softwareMysql目录安装位置:/usr/local/mysql数据库保存位置:/data/mysql日志保存位置:/data/log/mysql2下载mysql在官网:http://dev.mysql.com/downloads/mysql/中,选择以下版本的mysql下载:执行如下命名:#mkdir /data/soft...
2019-12-10 21:09:22 301
原创 数据库存储类型
什么是存储引擎?--存储引擎其实就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。--又可称为表类型,即储存和操作表的类型。--orcal,SqlServer只有一种存储类型;mysql有多种。--可自行选择存储引擎,也可以自定义存储引擎。--MySQL的核心就是插件式存储引擎。什么是MySQL的存储引擎?--mysql数据不同的技术...
2019-11-22 16:52:14 2003
原创 事务的四种隔离级别
数据库事务的隔离级别有4种,由低到高分别为Read uncommitted 、Read committed 、Repeatable read 、Serializable 。而且,在事务的并发操作中可能会出现脏读,不可重复读,幻读。下面通过事例一一阐述它们的概念与联系。Read uncommitted读未提交,顾名思义,就是一个事务可以读取另一个未提交事务的数据。...
2019-11-13 14:22:12 532
原创 事务的7种传播
什么叫事务传播行为?听起来挺高端的,其实很简单。即然是传播,那么至少有两个东西,才可以发生传播。单体不存在传播这个行为。事务传播行为(propagation behavior)指的就是当一个事务方法被另一个事务方法调用时,这个事务方法应该如何进行。例如:methodA事务方法调用methodB事务方法时,methodB是继续在调用者methodA的事务中运行呢,还是为自己开启一个新事务...
2019-11-13 14:21:51 1504
原创 Nginx+Tomcat搭建集群
在之前的文章中分别介绍了Tomcat单机部署多应用和Nginx负载均衡:常用策略配置、参数知识点,这一篇就通过之前的学习来搭建Nginx+Tomcat集群。一、首先下载nginx(Mac下Homebrew的安装与使用,启动、重载里面都有介绍),并启动,在浏览器中输入localhost回车:nginx.jpg这样就时启动成功了nginx默认使用80端口,如果安装了IIS,请停...
2019-11-12 18:40:31 182
原创 ngnix windows
环境:Windows 7nginx:1.14.21 配置文件路径\nginx-1.14.2\conf\nginx.conf2 启动\nginx-1.14.2\start nginx3 重载 当修改配置文件后使用\nginx-1.14.2\nginx.exe -s reload4 stop快速停止,并不保存相关信息 quit有序停止,会保存相关信息\nginx-1.14.2\ng...
2019-11-12 18:39:36 154
原创 如何在一台电脑上同时启动多个tomcat
1、下载Tomcat版本的时候会让你选择windows版和zip压缩版,切记要选择zip压缩版。2、切记一定不能配置CATALINA_HOME,因为环境变量中配置了它再启动Tomcat服务器的时候就会找环境变量配置的这个Tomcat会报端口占用。3、修改/conf/server.xml文件。需要修改的内容是/* 修改SHUTDOWN端口号,默认是8005,将其修改为未被占用的端口号,...
2019-11-12 18:32:09 230 1
原创 oauth2.0权限控制注解
@RequiresAuthentication验证用户是否登录,等同于方法subject.isAuthenticated()结果为true时。@RequiresUser验证用户是否被记忆,user有两种含义:一种是成功登录的(subject.isAuthenticated()结果为true);另外一种是被记忆的(subject.isRemembered()结果为true)。...
2019-09-23 17:19:56 1745
原创 @Valid
@Null 限制只能为null@NotNull 限制必须不为null@AssertFalse 限制必须为false@AssertTrue 限制必须为true@DecimalMax(value) 限制必须为一个不大于指定值的数字@DecimalMin(value) 限制必须为一个不小于指定值的数字@Digits(integer,fraction) ...
2019-09-23 13:37:20 428
原创 OAuth2.0 入门与进阶
OAuth2.0 入门与进阶一、基础知识1、OAuth产生背景 很多网站、APP 弱化甚至没有搭建自己的账号体系,而是直接使用社会化登录的方式,这样不仅免去了用户注册账号的麻烦、还可以获取用户的好友关系来增强自身的社交功能。 比如我们可以使用微博登录简书,简书会自动将你的微博头像设置为你的简书头像,将你的微博昵称设置为你的简书昵称,甚至还可以获取你微博中的好友列表,提示你哪些...
2019-09-19 14:06:53 222
转载 spring.factories文件
本文涉及spring-boot版本为2.1.6.RELEASE在阅读spring-boot相关源码时,常常见到spring.factories文件,里面写了自动配置(AutoConfiguration)相关的类名,因此产生了一个疑问:“明明自动配置的类已经打上了@Configuration的注解,为什么还要写spring.factories文件?”这个话题需要从@SpringBootApp...
2019-08-29 10:06:05 5640
原创 spring boot 注入bean AutoConfigure 方式
1.创建类public class RedisRepository { private StringRedisTemplate stringRedisTemplate; public StringRedisTemplate getstringRedisTemplate() { return this.stringRedisTemplate; }...
2019-08-29 10:04:14 485
原创 Maven中的dependencyManagement 意义
1、在Maven中dependencyManagement的作用其实相当于一个对所依赖jar包进行版本管理的管理器。2、pom.xml文件中,jar的版本判断的两种途径1)如果dependencies里的dependency自己没有声明version元素,那么maven就会到dependencyManagement里面去找有没有对该artifactId和groupId进行过版本声明,如果有...
2019-08-27 15:16:24 144
原创 maven 命令
Maven生命周期我们只需要注意一点:执行后面的命令时,前面的命令自动得到执行。实际上,我们最常用的就是这么几个:clean:有问题,多清理!package:打成Jar or War包,会自动进行clean+compileinstall:将本地工程Jar上传到本地仓库deploy:上传到私服...
2019-08-27 11:43:09 124
原创 maven中scope属性的
Dependency Scope在POM 4中,<dependency>中还引入了<scope>,它主要管理依赖的部署。目前<scope>可以使用5个值:* compile,缺省值,适用于所有阶段,会随着项目一起发布。* provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。* runtime,只...
2019-08-27 08:48:38 162
原创 optional可选依赖
maven optional可选依赖应用场景:projectA 依赖projectB, projectB 依赖projectC时<dependency> <groupId>com.itear.projectC</groupId> <artifactId>projectC</artifactId> <versi...
2019-08-26 18:41:08 1652
原创 zuul
为什么要使用微服务网关不同的微服务一般会有不同的网络地址,而客户端可能需要调用多个服务接口才能完成一个业务需求 若让客户端直接与各个微服务通信,会有以下问题: 客户端会多次请求不同微服务,增加了客户端复杂性 存在跨域请求,处理相对复杂 认证复杂,每个服务都需要独立认证 难以重构,多个服务可能将会合并成一个或拆分成多个 image ...
2019-08-22 18:12:50 170
原创 java生成word
包 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version> </dependency> <...
2019-08-01 09:54:11 378
原创 gif分解合成,生成文字图片,合并图片,自定义字体
1.gif 合成和分解package com.sckxyy.utils.gifMake;import java.awt.*;import java.awt.image.BufferedImage;import java.awt.image.DataBufferByte;import java.io.BufferedOutputStream;import java.io.FileO...
2019-07-22 08:29:44 487
原创 两张图片合并
package com.sckxyy.utils;import javax.imageio.ImageIO;import java.awt.*;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import java.net.URL;public class he...
2019-07-18 17:14:40 576
原创 根据传值生成图片
public class image { public static void main(String[] args) throws Exception { createImage("夏文杰", new Font("宋体", Font.BOLD, 30), new File( "e:/a.png"), 680, 64); } ...
2019-07-18 16:13:16 227
原创 关于时间的一些操作
//时间格式转换 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); String dateString = formatter.format(date); date = formatter.parse(dateString);/*** 时间获取农历时间***/...
2019-07-18 11:23:37 140
原创 redis 批量删除hashkey lua脚本
eval "local rst={}; local rst1=redis.call('keys','shopcar_user_*'); for i,v in pairs(rst1) do for j,e in pairs(redis.call('HKEYS', v)) do redis.call('Hdel',v,e) end; end; return rst" 0...
2019-07-16 17:22:48 1903
原创 jdbcUtil
import org.springframework.jdbc.support.JdbcUtils;import java.sql.*;public class JdbcUtil { public static Connection getConnection(String driver, String url, String username, String password...
2019-07-11 17:46:37 176
转载 pdb 同步到aof
redis 持久化配置 无缝从rdb切换到aof 安全保留数据redis 持久化配置 无缝从rdb切换到aof 安全保留数据redis默认持久化配置rdb,但是如果贸然切换配置到aof方式,重启会导致数据丢失问题redis默认持久化配置rdb,但是如果贸然切换配置到aof方式,重启会导致数据丢失如果数据不重要,都是缓存数据则没什么,如果是重要临时数据,不能丢失的情况,则需要特...
2019-07-11 17:44:41 216
转载 redis备份与config详解
redis.conf部分配置详解# 启动redis,显示加载配置redis.conf# ./redis-server /path/to/redis.conf# 停止redis# redis-cli -h IP -p PORT shutdown# 可以包含一个或多个其他配置文件,如果多个redis服务器存在标准配置模板,但是每隔redis服务器可能有个性化的配置# include...
2019-07-11 16:49:29 233
原创 elk之es配置文件详解
https://www.ibm.com/support/knowledgecenter/zh/SSFPJS_8.5.6/com.ibm.wbpm.main.doc/topics/rfps_esearch_configoptions.html
2018-05-22 17:01:40 865
原创 elk之拼音插件可选参数
可选参数:keep_first_letter启用此选项时,例如:刘德华> ldh,默认值:truekeep_separate_first_letter启用该选项时,将保留第一个字母分开,例如:刘德华> l,d,h,默认:假的,注意:查询结果也许是太模糊,由于长期过频limit_first_letter_length 设置first_letter结果的最大长度,默认值:16keep_fu...
2018-05-11 13:13:57 4010
原创 elk之es创建索引,添加分词,拼音分词
1.安装pinyin插件和ik插件。2.先创建type(kibana操作):put /article_v201805103.创建mapping(article_category_index字段添加了ik和pinyin分词):POST /article_v20180510/info/_mapping{ "info": { "properties": { ...
2018-05-10 12:19:11 4418 1
原创 elk之es数据迁移
安装ElasticDumpnpm install elasticdump -g 在执行elasticdump --ignore-errors=true --scrollTime=120m --bulk=true --input=http://192.168.1.34:9300 --output=E:/my-es5.json --type=data elasticdump --ignore...
2018-04-28 01:45:00 1740
转载 elk 之 kibana6 连接 es6问题
kibana提示“Your Kibana index is out of date, reset it or use the X-Pack upgrade assistant.”=============================================== 2017/12/15_第1次修改 ccb_warlock ============...
2018-04-28 01:43:34 549
原创 elk之restful api 聚合查询分析
一, group分组将所有学生按照年龄分组,并得出每个组合的个数。 GET school3/student2/_search{"size"=0, //加上size=0,就不会打印操作的具体数据 "aggs":{ "group_age":{ "terms": { ...
2018-04-24 14:41:30 1017
原创 elk之restful api 搜索方式
一共6种: 1. query string serch2. query DSL3. query filter4. full-text search5. phrase search6. highlight search一,query stringsearch:概念:所有的search查询都是在http请求后面跟上query string来构建的。缺点:对复杂的查询语句很...
2018-04-24 14:38:28 2441
原创 elk之简单的集群管理操作
cat api 文档:1.快速检测集群的健康状况:GET _cat/health?vunassugn:未分配的shard数。最后一个字段:活跃度。status:表示健康值(分为三种:green,yellow,red): green:表示每个index的shard和replica都是活跃状态的。 yellow:表示每个index的shard是活跃状态的,replica是不可用状态的。 ...
2018-04-24 02:58:44 549
原创 elk之es数据结构
先看看数据库和java bean的结构:创建两个对象:public class Student{ private String fristName; private String lastName; private String email; private Date joinDate; private StudentInfo info;}public class StudentI...
2018-04-24 02:30:56 2186
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人