java
wangc_gogo
一个标点符号一篇博客,也是一种进步!!!
展开
-
请求全过程
原创 2020-03-19 14:33:13 · 214 阅读 · 0 评论 -
mybatis实现批量更新
在网上找了好多资料,最后确定这种方式确实可用:<update id="updateUserInfoIdsByUserId" parameterType="java.util.List"> update tb_user_info <trim prefix="set" suffixOverrides=","> <trim prefix...原创 2020-03-04 08:19:16 · 321 阅读 · 0 评论 -
spring security 认证流程
原创 2020-01-07 10:17:03 · 112 阅读 · 0 评论 -
ios android 浏览器判断及业务逻辑添加处
var browser = { versions: function () { var u = navigator.userAgent; return { ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端 android: u.indexOf('...原创 2019-12-31 10:31:00 · 160 阅读 · 0 评论 -
判断是否属于微信浏览器
/** * 是否是微信访问(java) * @param request * @return */public static boolean isWechatRequest(HttpServletRequest request){ String ua=request.getHeader("user-agent"); if(StringUtils.isBlank(ua...原创 2019-12-23 15:51:14 · 192 阅读 · 0 评论 -
微信二次分享失败解决
前段时间写了一片微信分享的文章,在二次分享时会存在问题,今天进行补充,主要是第五条1、通过appId和secret获取access_tokenpublic static String getAccessToken(String appid, String secret) { String url = "https://api.weixin.qq.com/cgi-bin/token?...原创 2019-12-25 08:45:27 · 2843 阅读 · 0 评论 -
微信分享 java版
之前很少接触微信开发,最近让做分享有点蒙,下面是自己做分享的一些经验仅供参考1、通过appId和secret获取access_tokenpublic static String getAccessToken(String appid, String secret) { String url = "https://api.weixin.qq.com/cgi-bin/token?gr...原创 2019-12-19 11:38:21 · 373 阅读 · 0 评论 -
dubbo spi
原创 2019-12-13 15:04:03 · 141 阅读 · 0 评论 -
dubbo 服务降级与集群失败策略
dubbo的失败策略默认的是 failover 默认重试次数为3次;dubbo在服务不可能或超时时可以配置服务降级策略,在<dubbo:reference mock="" /> 配置mock属性即可实现。常见容错机制:failover ,failsafe,failfase ,failback,forking,来源于阿里的定义。Failover 失败自动切换当出现失...原创 2019-12-13 11:53:04 · 361 阅读 · 0 评论 -
dubbo在zk的目录结构
zk下的dubbo路径 /dubbo /Interface全包名 /consumer consumer、ip地址、应用名称、全路径、参数等 /configurators / router /provider 协议、ip、端口...原创 2019-12-13 08:33:36 · 3199 阅读 · 0 评论 -
spring 整合logback 具体配置
需要添加的依赖<!--logback配置开始--><dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${sl4j.version}</version></...原创 2019-12-06 13:16:57 · 507 阅读 · 0 评论 -
elasticsearch java api(基本)
使用的版本为6.2.2,需要安装ik插件,否者创建分词器会报错1、创建链接客户端public static TransportClient getBean(){ Settings settings = Settings.builder().put("cluster.name", "es-java").build(); // 创建client Transpor...原创 2019-12-05 16:59:35 · 153 阅读 · 0 评论 -
tomcat优化
目前前后端分离已经成为一种趋势,前端静态服务器一般会采用nginx,在与后台tomcat集成时如何配置tomcat那?1、注释掉ajp,这个主要处理jsp和集成apche服务使用,前后端分离,该配置没有什么用,还会占用线程影响性能。2、为了tomcat安全一定要删除webapp下面的所有文件,防止进入管理控制台;3、为了防止远程关机,禁用8005或相关修改的端口,或修改为-1;...原创 2019-11-25 16:11:23 · 102 阅读 · 0 评论 -
jconsole远程链接配置
一、应用场景 Jconsole在自己的工作电脑windows机器上,tomcat应用服务器在远程的linux系统上。 2 二、远程linux上的配置 远程连接配置 在tomcat的bin目录如opt/test/apache-tomcat-8.5.31/bin目录下,对文件catalina.sh添加JAVA_OPTS内容 JAVA_OPTS="$JAVA_O...原创 2019-11-01 09:35:36 · 235 阅读 · 0 评论 -
linux 性能调优常用命令
du -sh 查看当前文件夹大小du -sh * | sort -n 统计当前文件夹(目录)大小,并按文件大小排序du -sk filename 查看指定文件大小ps hH p pid | wc -l 查看一个进程下面多少个线程数top -H -p pid显示某个进程所有活跃的线程消耗情况top –p PID 通过指定监控进程ID来仅仅监控某个进程的状态...原创 2019-11-01 09:30:49 · 216 阅读 · 0 评论 -
springmvc 项目集成vue配置
需要借助freemarker<dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.28</version></dependency><de...原创 2019-10-25 10:54:55 · 1862 阅读 · 0 评论 -
tomcat catalina.out日志分割
使用log4j使catalina.out文件实现分割 1、在tomcat根目录下建立common/classes/log4j.properties,内容如下:log4j.rootLogger=INFO, R log4j.appender.R=org.apache.log4j.RollingFileAppender log4j.appender.R.File=${catalina.ho...原创 2019-10-15 09:27:38 · 671 阅读 · 0 评论 -
vue 响应式原理 发布订阅模型 对象赋值
vue响应式原理主要靠两点://vue响应是原理//每个vue都包含一个对象实例,这个对象实例拥有defineProperty()监听属性的改变并进行赋值操作; Object.keys(obj).forEach(key=>{ let value=obj[key]; Object.defineProperty(obj,key,{ ...原创 2019-07-20 09:08:43 · 343 阅读 · 0 评论 -
afterPropertiesSet init -method 构造函数执行循序
根据我测试执行循序为:1、构造函数;2、afterPropertiesSet;3、init-method但是需要注意:1、init-method方法,初始化bean的时候执行,可以针对某个具体的bean进行配置。init-method需要在applicationContext.xml配置文档中bean的定义里头写明。例如:<bean id="TestBean" class...原创 2019-07-26 08:33:05 · 575 阅读 · 0 评论 -
rabbitMq springBoot 封装及使用
1、交换及和队列的封装:@Configurationpublic class MQConfig { public static final String MIAOSHA_QUEUE = "miaosha.queue"; public static final String QUEUE = "queue"; public static final String TO...原创 2019-07-26 08:05:06 · 1505 阅读 · 0 评论 -
lua 对象添加方法
原创 2019-07-31 09:54:36 · 987 阅读 · 0 评论 -
jwt 创建token 和验证token 封装
import io.jsonwebtoken.Claims;import io.jsonwebtoken.Jwts;import io.jsonwebtoken.SignatureAlgorithm;import net.xdclass.xdvideo.domain.User;import java.util.Date;/** * jwt工具类 */public class ...原创 2019-07-22 08:11:58 · 331 阅读 · 0 评论 -
简易封装httpclient post get
package net.xdclass.xdvideo.utils;import com.google.gson.Gson;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.client.config.RequestConfig;import org...原创 2019-07-22 08:10:21 · 103 阅读 · 0 评论 -
spring 自定义全局异常
1、定义全局异常处理适配器,可以多个,我这目前只用一个:/** * 自定义异常类 */public class XdException extends RuntimeException { /** * 状态码 */ private Integer code; /** * 异常消息 */ private Stri...原创 2019-07-22 08:09:12 · 386 阅读 · 1 评论 -
ngnix 根据参数负载均衡 $args $query_string
在有些时候,需要根据请求url参数来进行不同的url重定向,当时花费的不少时间进行相关处理,下面做一下记录:location / {set $newIp "192.168.72.102:80";if ($query_string ~ appversion=(1.4.0)){set $newIp "192.168.72.102:8080";}proxy_pass "http://$ne...原创 2019-07-24 14:40:15 · 1351 阅读 · 0 评论 -
nginx 问题解决汇总
1、nginx: [error] invalid PID number "" in "/usr/servers/nginx/logs/nginx.pid"解决方案:[root@localhost nginx]/usr/servers/nginx/sbin/nginx -c /usr/servers/nginx/conf/nginx.conf原创 2019-08-03 10:43:58 · 178 阅读 · 0 评论 -
lua redis metatable 操作
local score1={yw=80,sx=90}local score2={yw=100,sx=100}local myadd={}function myadd.__add(f1,f2) local res ={} res.yw=f1.yw + f2.yw res.sx=f1.sx +f2.sx return res...原创 2019-07-30 17:53:09 · 221 阅读 · 0 评论 -
redis lua 脚本语法
lua 动态传参在传参处只需这样传即可:redis-cli -p 192.168.1.244 -p 6379 --eval /home/opt/script/01.lua k k , 1 2evalsha "脚本" 0必须加脚本参数 没有就写0...原创 2019-07-30 15:18:21 · 1349 阅读 · 0 评论 -
redis 管理工具
原创 2019-07-31 10:34:31 · 354 阅读 · 0 评论 -
redis的使用场景分析
1、缓存减少数据库io2、最新的操作,或最近的评论(List)3、排行榜类4、计数器原创 2019-07-31 10:45:45 · 112 阅读 · 0 评论 -
vue 组件
组件数据组件定义 data函数原创 2019-06-26 16:52:17 · 109 阅读 · 0 评论 -
并发进阶之路 AQS自定义Lock(四)
最近一直再看并发相关的资料,之前也了解过一些,总觉太浅还需加油!!!自定义锁模仿jdk的锁进行操作,在之前闲聊一下AQS吧AQS同步器,里面使用的模板方法,来进行操作,我们在实现锁时需要实现他的 isHeldExclusivelu、tryAcquire()、tryRelease()、newCondition()方法;同步队列---等待队列一个线程调用wait进入等待队列,被唤...原创 2019-09-29 09:03:42 · 123 阅读 · 0 评论 -
并发进阶之路 原子类 AtomicReference(三)
之前一直使用比较简单的原子类:AtomicInteger、AtomicLong.....需要对一个对象进行源自操作时怎么办那?这时就需要用到AtomicReference类了,具体使用如下:为了解决ABA问题,java又引入了AtomicMarkableReference(boolean)和AtomicStamedReference (动过几次)可以针对是否修改过和动过几次进行修改...原创 2019-09-27 14:44:29 · 295 阅读 · 0 评论 -
java finally
原创 2019-09-27 07:52:46 · 100 阅读 · 0 评论 -
并发进阶之路 CompletionService(二)
在使用线程池时,有时需要使用返回值,传递给下一个线程池,这是需要用到Callable(带返回值的线程)和CompletionService =new ExecutorCompletionService(线程池);CompletionService 会监听线程池的 执行结果,谁先处理完就把结果放到CompletionService的队列里面,传递给下一个调用者即可。public void te...原创 2019-09-26 09:24:52 · 95 阅读 · 0 评论 -
并发进阶之路 守护线程(一)
守护线程一定在start之前设置,否者不会设置成功,守护线程在主线程消亡后自动消亡。守护线程不一定保证finally必执行。原创 2019-09-24 10:12:01 · 136 阅读 · 0 评论 -
kafka ack
ack 0 都不需要确认ack 1 leader 确认ack all leader follower 都需要确认原创 2019-08-16 07:50:07 · 221 阅读 · 0 评论 -
redis 位图操作(一)基本操作
最近做登录签到功能,想使用redis位图功能,在网上查了很多资料,包括官方的介绍的都不是很详细,今天我主要介绍一下相关操作,不足之处还请指出:基本操作 :setbit key start end 不介绍getbit key index 不介绍bitcount key start end (重点)本人在测试bitcount时遇到了问题,区间查询查不到数据,很是懊恼...原创 2019-08-09 08:33:18 · 350 阅读 · 0 评论 -
图片处理各种操作
转:原文:https://blog.csdn.net/wangpeng047/article/details/17610451图片处理是当今软件开发中非常重要的一环,然而处理图片的开源框架却并不多。现金网上流传的Java处理图片的代码,虽然可对图片进行简单处理,但效果并不理想。虽然也有些其他解决方案,但都摆脱不了繁琐,使用起来十分不方便。为了解决这个问题,我也是在网上找了好久,看了很多...原创 2019-08-01 13:40:12 · 274 阅读 · 0 评论 -
mutipartfile转file 图片压缩
需要导入谷歌开源的jar<dependency> <groupId>net.coobird</groupId> <artifactId>thumbnailator</artifactId> <version>0.4.8</version></dependency>sp...原创 2019-08-01 13:34:03 · 736 阅读 · 0 评论