Java
文章平均质量分 95
农夫YH
如果有一天我能够
拥有一个大果园
我愿放下所有追求
做个农夫去种田
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Redis分布式锁,使用aop +自定义注解 实现
Redis分布式锁实现1.Redis分布式锁理论2.Redis整合 封装服务类3.自定义注解4.Aop实现注解环绕通知、获取注解参数、加锁解锁5.ThreadLocal实现可重入锁1.Redis分布式锁理论Redis有一系列的命令,特点是以NX结尾,NX是Not eXists的缩写,如SETNX命令就应该理解为:SET if Not eXists。设置成功,返回 1 。 设置失败,返回 0由于Redis为单进程单线程模式,采用队列模式将并发访问变成串行访问,命令是一条一条执行的所以可以利用setNx原创 2020-06-21 22:59:37 · 1384 阅读 · 2 评论 -
Nginx +redis 负载均衡 会话共享(二):redis的安装以及session共享的实现
nginx + redis + Tomcat 实现会话共享原创 2017-12-27 19:46:26 · 621 阅读 · 0 评论 -
linux mysql 乱码问题
项目进行到和服务器交互,通过post访问服务器端jsp,jsp访问服务器端mysql数据库,最终返回到客户端的中文出现乱码问题。 在整个流程中,出现错误的原因可能是三个:post未设置编码或者编码不相符合,jdbc出现问题,linux下mysql初始码制问题。 在经过繁琐的排查后,最终确定问题为mysql编码问题。下文介绍如何解决linux下mysql中文乱码问题。转载 2017-10-13 16:10:05 · 414 阅读 · 0 评论 -
idea 快捷键汇总
转载:http://blog.csdn.net/dc_726/article/details/42784275Intellij IDEA中有很多快捷键让人爱不释手,stackoverflow上也有一些有趣的讨论。每个人都有自己的最爱,想排出个理想的榜单还真是困难。以前也整理过Intellij的快捷键,这次就按照我日常开发时的使用频率,简单分类列一下我最喜欢的十大快捷-神-键吧。转载 2017-09-25 14:19:57 · 357 阅读 · 0 评论 -
随笔记:使用java.mail.jar 实现邮件发送服务
java 发送邮件原创 2017-09-24 14:53:15 · 1088 阅读 · 0 评论 -
微信开发(2):微信js sdk分享朋友圈,朋友,获取config接口注入权限验证(java)
进行微信开发已经一阵子了,从最初的什么也不懂,到微信授权登录,分享,更改底部菜单,素材管理,等。 今天记录一下微信jssdk 的分享给朋友的功能,获取config接口注入。 官方文档走一下 简单说:四步走 1.绑定域名 (注意:设置js安全域名的时候,需要设置微信ip白名单,ip白名单新出来的,非白名单内的ip无法获取access_token 更无法获取jsapi) 2.引入js文件 3原创 2017-08-05 16:53:50 · 3993 阅读 · 0 评论 -
微信开发(3):微信公众号发现金红包功能开发,利用第三方SDK实现(Java)
最近需求是 用户兑换微信红包,需要一些验证,加密,以及证书; 工欲善其事必先利其器 感谢前辈的微信SDK 已经维护三年了,还在维护中!官方文档走一波文档还是一如既往的 坑人啊,写的很简单,对简单明了。 有接口 有提交方式 有参数类型开发前的准备:首先需要读一下开发文档,调用任何接口前 都应该仔细看看人家的开发文档,我们可以得到知道,发送红包不是根据微信号,而是根据openid ,ope原创 2017-08-19 10:45:40 · 3513 阅读 · 0 评论 -
linux 设置Tomcat自动启动
一、安装过程上传apache-tomcat-6.0.14.tar.gz到linux上,在 /usr/local/ 新建目录tomcat,mkdir tomcat将tomcat安装包放在这将apache-tomcat-6.0.14.tar.gz重命名为tomcat6, mv apache-tomcat-6.0.14.tar.gz tomcat6tar -转载 2017-03-23 11:29:27 · 397 阅读 · 0 评论 -
随笔记:使用Zxing 生成二维码
Zxing 生成简单二维码原创 2017-07-24 16:45:18 · 448 阅读 · 0 评论 -
随笔记:Java 计算两个数值百分比
public String getnum(int num1,int num2){ NumberFormat numberFormat = NumberFormat.getInstance(); // 设置精确到小数点后2位 numberFormat.setMaximumFractionDigits(2); String result转载 2017-07-26 15:41:44 · 2830 阅读 · 0 评论 -
随笔记:Mysql 对于换行符回车符 查询失效的处理
今天在遇到了一个问题,项目好好的,但是查询语句查询失败,查询不出任何结果,数据库结果是存在的,检查发现,因为客户导入的数据中有回车键换行的数据,而在MySql中把换行符保留下来了,导致查询失败解决方法 : 将表中的 包含回车符的数据处理""替换掉UPDATE tablename SET FIELD = REPLACE(REPLACE(FIELD, CHAR(10), ''), CHAR(13)原创 2017-07-25 17:05:59 · 1931 阅读 · 0 评论 -
随笔记:利用Apache设置反向代理
Apache 配置反向代理原创 2017-10-15 11:50:49 · 1614 阅读 · 0 评论 -
Nginx +redis 负载均衡 会话共享(一):nginx 安装与配置说明
nginx 实现负载均衡 + redis 实现会话共享原创 2017-12-27 11:28:16 · 2184 阅读 · 0 评论 -
java导出excel表格 使用alibaba easyexcel
开发中有好多时候需要导出表格,以往通常使用poi 这些jar进行倒入导出。最近发现 阿里巴巴的一个 easyexcel 导出非常方便 记录下项目地址先添加依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>easy...原创 2019-07-06 13:49:01 · 1696 阅读 · 0 评论 -
shiro + spring boot +jwt 无状态权限认证
最近的需求是要在项目中加入权限模块。在对接shrio中查找资料遇到了一些问题。所以记录下spring boot 对接 shiro 以及jwt 生成token 做权限校验。Shiro框架中有三个核心概念:Subject ,SecurityManager和Realms。SubjectSubject表示 执行当前操作的用户,当然subject 不单单指的是用户,它可以是第三方进程、定时任务,等...原创 2019-06-30 01:39:16 · 8957 阅读 · 1 评论 -
java反射的一次应用
使用java反射,获得类 获得类属性方法。拿到注解,获得注解方法原创 2019-07-09 16:52:23 · 496 阅读 · 1 评论 -
高并发后端设计-限流篇
系统在设计之初就会有一个预估容量,长时间超过系统能承受的TPS/QPS阈值,系统可能会被压垮,最终导致整个服务不够用。为了避免这种情况,我们就需要对接口请求进行限流。限流的目的是通过对并发访问请求进行限速或者一个时间窗口内的的请求数量进行限速来保护系统,一旦达到限制速率则可以拒绝服务、排队或等待。常见的限流模式有控制并发和控制速率,一个是限制并发的数量,一个是限制并发访问的速率,另外还可以限制...转载 2018-12-28 18:13:47 · 349 阅读 · 0 评论 -
ConcurrentLinkedQueue的简单使用
它是一个基于链接节点的无界线程安全队列。该队列的元素遵循先进先出的原则。头是最先加入的,尾是最近加入的。插入元素是追加到尾上。提取一个元素是从头提取。当多个线程共享访问一个公共 collection 时,ConcurrentLinkedQueue 是一个恰当的选择。该队列不允许null元素大致是这样的思路,用户请求接口 将用户的请求方到 ConcurrentLinkedQueue 中去。然后按...原创 2018-12-28 17:33:52 · 791 阅读 · 0 评论 -
Java集合源码剖析——ArrayList源码剖析
ArrayList简介ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存。ArrayList不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑用Collections.synchronizedList(List l)函数返回一个线程安全的ArrayList类,也可以使用concurrent并发包下的CopyOnWrite...转载 2018-06-30 14:47:32 · 361 阅读 · 0 评论 -
Mysql 定时导出sql 脚本
利用dos 命令执行 sql // 数据库导出 String user = "root"; // 数据库帐号 String password = "xxx"; // 登陆密码 String database = "xxx"; // 需要备份的数据库名 String t原创 2018-01-26 17:42:00 · 2288 阅读 · 0 评论 -
单个Tomcat配置多个域并配置多个证书
原文地址 近日,帮一个朋友配置一台服务器,在该服务器上启动一个Tomcat运行两个应用,分别对应两个域名:www.domain1.com 和 www.domain2.cn ,对于http协议(80端口),只要配置Tomcat的虚拟主机就可以了。 但朋友为了数据的安全性,分别为每个域名购买了一个CA证书。这就要求在一个Tomcat上配置两个证书。在网上搜了好久,没见有相同的案例。只查到有人说转载 2018-01-17 09:45:29 · 1671 阅读 · 1 评论 -
如何在2018年变成一个牛B的程序员?
原文地址扎实的基础计算机领域是一个快速更新换代的领域,每隔一段时间都会有新的语言、框架、思想产生,追随每一个新技术很累。但仔细想想,事实上并没有那么多新东西。很多新东西只不过是已有技术的封装、或者借鉴的其他领域的技术。比如缓存数据库redis、memcached,其基本思想不就是操作系统中的缓存吗;分布式存储中的分片与复制集,不就是文件系统中RAID的扩展吗;还有Google的MapRed转载 2018-01-31 09:28:16 · 605 阅读 · 0 评论 -
java 转html为pdf
原文地址:http://blog.csdn.net/is_zhoufeng/article/details/8244454最近有个需求转html为pdf 。用过itext 、 pd4ml ,都不理想,不是样式有问题,就是页面大小有问题。 或字体有问题。 解决办法是通过wkhtmltopdf工具 , 下载地址为:http://code.google.com/p/wkht转载 2017-07-13 10:02:20 · 908 阅读 · 0 评论 -
日期帮助类
package com.yc.education.util;import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Calendar;import java.util.Da转载 2017-08-07 16:57:05 · 466 阅读 · 0 评论 -
经常用的Spring 日期格式化
经常用的Spring 日期格式化 1.使用 jackson 注解 @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = “yyyy-MM-dd HH:mm:ss”, timezone = “GMT+8”)在controller 初始化时 控制 页面传入的String 类型时间转 date /** 初始化 控制页面原创 2017-06-28 14:35:41 · 884 阅读 · 0 评论 -
idea 的使用(1) 界面元素
打开IDEA,(当第一次打开的时候出现的是一个欢迎页面,随便创建一个project来进入到IDEA的主界面),主界面显示如下: 主界面由6个主要区域组成(图中红色数字标注的) 1.菜单和工具栏 2.导航条:编辑文件时帮助定位和导航项目中的文件 3.状态栏:显示当前项目,IDEA本身的状态,还有别的一些状态相关的一些信息 4.编辑器 5.工具窗口:辅助类窗转载 2016-10-24 21:39:05 · 845 阅读 · 0 评论 -
oracle 用户 角色 权限管理 新手村攻略
新手村攻略 仅适合新手 简单的用户创建与授予角色1.创建用户语法形式 :create useruser_name identified by password[Default tablespacedef_tablespace][temporary tablespacetem_tablespace]备注:user_name 为要创建原创 2016-10-19 21:40:18 · 491 阅读 · 0 评论 -
spring 整合 mybatis 详细配置
maven 工程POM.XML 文件 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.ap原创 2016-11-23 19:49:24 · 480 阅读 · 0 评论 -
@Test报错,Junit使用注意事项
@Test报错,Junit使用注意事项Type mismatch: cannot convert from Test to Annotation在我们在eclips里使用junit测试工具时有时会遇到如上面的错误,这是什么原因呢?导致如上问题的原因通常有下面几个:(1)没有导入jar包(2)导入jar包版本太低(3)注意@Test要写在方法上面转载 2016-11-21 18:55:30 · 757 阅读 · 0 评论 -
jquery ajax 实现批量删除
// 批量删除 $("#delete").click(function(){ //判断是否至少选择一项 var checkedNum =$("input[name='ck_order']:checked").length; if(checkedNum==0){ alert("请至少选择一项"); return; } if(confirm("原创 2016-12-03 09:33:55 · 3197 阅读 · 0 评论 -
使用mybatis 对oracle 数据库 添加自动增长列
方法一 : SELECT SEQUENCESID.NEXTVAL FROM DUAL insert into users1(id,username,userpwd,sex,userphone,address) values(#{id},#{username},#{userpwd},#{sex},#{userphone},原创 2016-11-21 10:21:15 · 796 阅读 · 0 评论 -
aop 实现方法计时 日志
代码:package com.yh.webapp.aop;import org.apache.logging.log4j.LogManager;import org.apache.logging.log4j.Logger;import org.apache.struts2.ServletActionContext;import org.aspectj.lang.JoinPoint;原创 2016-12-02 18:52:57 · 838 阅读 · 0 评论 -
关于eclipse 老版本的下载 最近找老版本 终于找到了链接
放链接:http://wiki.eclipse.org/Older_Versions_Of_Eclipse点击进入下载原创 2016-10-15 21:07:45 · 987 阅读 · 0 评论 -
Struts2 文件上传与下载
上传 控制层代码package cn.yunhe.struts.controller;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import j原创 2016-11-21 09:58:58 · 694 阅读 · 0 评论 -
jQuery 动态添加的按钮 事件失效解决方法
使用ajax动态添加了 按钮 按钮点击失效:function func(){$.ajax({ .......})}使用 jQuery 的 on 添加绑定事件$(".table-main").on("click",".delete",function(){deleteUser();});$("#pagexx").on("c原创 2016-11-21 10:16:23 · 1392 阅读 · 0 评论 -
spring mvc返回json 类型的 数据
1、第一种方式是spring2时代的产物,也就是每个json视图controller配置一个Jsoniew。如: 或者同样要用jackson的jar包。2、第二种使用JSON工具将对象序列化成json,常用工具Jackson,fastjson,gson。利用HttpServletResponse,然后获取response.getOutputStream()或respon转载 2017-01-02 17:05:45 · 452 阅读 · 0 评论 -
随笔记:MySQL not in 查询失效
使用 not in 加子查询的 查询语句 失效,测试数据库 上好好的,线上项目查不出数据, 数据库数据是存在的 发现 问题出在 not in 后 有为null 的数据 所以没有数据返回 null什么都不能当 null 与ID进行匹配 返回 false 所以 一条数据也不会返回 原始sql select * from xx where id not in (‘1’,’2’,n原创 2017-07-13 09:54:05 · 6966 阅读 · 0 评论 -
Java方法中 访问url 下载链接,下载文件
/** * * @param urlStr * @param fileName * @param savePath * @throws IOException */ public static void downLoadFromUrl(String urlStr, String fileName, String savePath)转载 2017-06-30 16:56:41 · 5830 阅读 · 1 评论 -
Mybatis 批量插入万条数据 !
背景:需要解析用户上传的excel 表格,读取表格中的数据,插入数据库!思路:使用jxl 解析 excel表格,返回 list集合数据, 拆分集合 进行批量插入数据库;Dao mapper 层: * mapper.xml * 使用jxl解析 excel文件 得到list: 插入数据库: 一次插入400条 速度最快 最后 控制台打印:原创 2017-05-22 18:02:15 · 8832 阅读 · 3 评论 -
java.util.regex.PatternSyntaxException: Unexpected internal error near index 1 \ ^
报错java.util.regex.PatternSyntaxException: Unexpected internal error near index 1 \ ^报这个错的原因是因为在java中“\”是一个转义字符,所以需要用两个代表一个。例如 System.out.println(“\\”);只会打印出一个\,但是“\”也是正则表达式中的转移字符在java中split的参数就转载 2017-05-17 09:58:10 · 2276 阅读 · 0 评论
分享