自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(86)
  • 资源 (15)
  • 收藏
  • 关注

原创 ByteBuffer中的flip()、clear()、compact()

netty读取文件流的简单demo:public static void main(String[] args) { try (FileChannel channel = new FileInputStream("data.txt").getChannel()){ // 定义缓冲区 allocate分配大小 ByteBuffer buffer = ByteBuffer.allocate(10); while(tr

2022-01-16 15:54:41 873 3

原创 windows系统启动java程序限制cpu核心数

windows上限制java程序限制cpu核心数的方式:1、任务管理操作任务管理器-->详细信息-->找到进程,鼠标右键-->设置相关性-->选择使用cpu核心。这种方式是临时方案,因为在程序重启后,这里的设置会被还原,即默认还是充分使用全部cpu核心。2、利用bitsum通常我们启动一个java进程为:java -jar xxx.jar。这里添加命令start /affinity 0x0000000000000003 java -ajr xxx.j

2021-10-10 20:37:42 1420

原创 OSGI MANIFEST.MF详解

什么是MANIFEST.MF?MANIFEST.MF文件存储的实际上是Bundle的元数据,可以定义Bundle的各种特征,同时能更好的对Bundle进行标识同时帮助用户对Bundle进行理解。MANIFEST.MF文件格式:1、属性声明一般为:name:value2、换行缩进一个空格3、每个子句(clause)进一步分解为一个目标(target)和一组由分号分隔的name-value对参数(parameter)Manifest-Version: 1.0Bundle...

2021-09-09 14:55:29 166

原创 Mybatis拦截器做数据范围权限DataScope

目录业务场景:思路:步骤:1、定义Mybatis拦截器DataScopeInterceptor2、定义注解DataScope3、springboot装配该拦截器4、使用业务场景:根据业务需要,这里将角色按照数据范围做权限限定,提供三级权限分别为:1、全部:可以查看所有的数据2、自定义:按照组织架构,可以查看当前所匹配的组织架构数据3、个人:仅能查看由自己创建,或者数据流转到自己节点的数据思路:1、定义Mybatis拦截器DataScopeInte.

2021-05-10 10:59:24 3070 1

原创 vue实现按钮功能级权限控制

文章目录1、store下新建一个js,或者直接使用user.js2、合适的位置接口获取权限信息,比如登录接口3、定义按钮鉴权标签,这里采用插件的形式4、安装插件,在main.js中5、使用,如List.vue中1、store下新建一个js,或者直接使用user.jsimport db from '@/utils/localstorage'const state = { permissions: db.get('PERMISSIONS') || [],}const mutations =

2021-04-20 20:19:29 1141

原创 简单理解浅克隆和深克隆

定义浅克隆(Shadow Clone): 拷贝对象时仅仅拷贝对象本身,而不拷贝对象包含的引用指向的对象;对于数据类型是基本数据类型的成员变量,会直接进行值传递,也就是将该属性值复制一份给新的对象。深克隆(Deep Clone): 将原型对象中所有类型,无论是值类型还是引用类型,都复制一份给克隆对象。浅克隆的实现:import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;@Dat

2021-03-01 14:36:49 280

原创 简单理解CAS

文章目录CASCAS算法:CAS(V, E, N)。基于CAS的线程安全AtomicIntegerCAS缺点1、CPU开销大2、只能保证一个共享变量的原子操作3、ABA问题ABA问题解决1、版本号机制2、带有时间戳的对象引用 AtomicStampReferenceCASCAS(Compare And Set)比较交换,是一种无锁算法。即不使用锁的方式来实现多线程同步。由于是无锁的策略,也就是在没有线程被阻塞的情况下实现变量同步,所以也叫非阻塞同步(Non-blocking Synchronizatio

2020-12-19 15:09:47 171 2

原创 单例模式的8种写法

1、饿汉式,线程安全public class Singleton { /** * 优点:写法简单,类装载的时候完成实例化,线程安全 * 缺点:类装载的时候就完成实例化,没有Lazy Loading,如果没有被使用,会造成内存浪费 */ private static final Singleton INSTANCE = new Singleton(); public static Singleton getInstance(){

2020-12-08 15:17:01 60

原创 Synchroinzed对Integer的问题

先来看两段代代码:1、package com.thread.test.synchronize;/** * Created by shamee-loop on 2020/12/6. */public class SynchronizedErrorOnInteger implements Runnable { public static Integer count = 0; static SynchronizedErrorOnInteger instance = new Sy

2020-12-06 17:14:00 111 2

原创 XSS攻击及AntiSamy防御

什么是xssxss:跨站脚本攻击(Cross Site Scripting),因为跟样式css混淆,所以习惯缩写为xss。通过一些方法注入恶意指令代码到网页,使其加载并执行攻击者恶意的网页程序。xss类型1、反射型xss:通过get或者post等方式,向服务端输入数据。如果服务端不进行处理(过滤,验证,编码等),直接将信息呈现出来,可能会造成反射型xss。2、存储型xss:服务端对注入的恶意脚本没有经过验证存入数据库,每次调用数据库都会将其渲染在浏览器上。则可能为存储型xss。AntiSamy防御

2020-10-20 16:20:08 589

原创 Linux单机MySQL数据库自动备份

准备:创建几个目录mkdir -vp mysql_backup/data mysql_backup/logs mysql_backup/scriptsdata:用来存放备份数据logs:存放脚本运行日志scripts:存放备份脚本1、指定数据库备份:[root@iZwz90hf9uqjtrspga3v5bZ kuliya]# cd mysql_backup/scripts/[root@iZwz90hf9uqjtrspga3v5bZ scripts]# vim db_.

2020-09-10 15:07:41 48

原创 Centos应用“Cannot allocate memory”的解决方案

在启动一个Springboot工程时,抛出一项“Cannot allocate memory”异常,很明显,是因为内存分配原因导致的OOM异常导致JVM宕掉。跟随log,查看JVM hs_err_pid24442.log文件。这里解释了可能的原因以及可能的解决措施:可能的原因: #系统已超出物理RAM或交换空间 #在32位模式下,进程大小受到限制可能的解决方案: #减少系统上的内存负载 #增加物理内存或交换空间 #检查交换后备存储器是否满

2020-09-07 12:50:47 2042

原创 docker安装Mysql8.0的坑之lower_case_table_names

目录0、环境:1、修改my.cnf(无效):2、docker指定--lower-case-table-names=1(特定情况无效):3、解决方案0、环境:centos7、docker 17.12.1-ce、mysql 8.0.21docker安装mysql命令:docker run --name mysql --restart=always \ -v /home/mysql/conf/my.cnf:/etc/mysql/my.cnf \ -v /ho.

2020-09-02 17:32:07 7124 2

原创 Centos基础环境--docker安装Redis

文章目录环境拉取镜像启动查看redis信息环境1、Centos 8.02、docker版本17.12.1-ce3、redis 4.0.12拉取镜像[root@iZuf68t6hada0ayijajs45Z ~]# docker pull redis:4.0.12启动[root@iZuf68t6hada0ayijajs45Z redis]# docker run -idt -p 6379:6379 --name redis --restart=always \> -v /da

2020-07-23 15:03:01 136

原创 Centos基础环境--docker安装mysql8.0

文章目录环境拉取镜像启动进入Mysql环境1、Centos 8.02、docker版本17.12.1-ce3、mysql 8.0拉取镜像[root@iZuf68t6hada0ayijajs45Z docker]# docker pull mysql:8.08.0: Pulling from library/mysql6ec8c9369e08: Pull complete 177e5de89054: Pull complete ab6ccb86eb40: Pull complete e1

2020-07-23 09:53:14 287

原创 Centos基础环境搭建--安装docker

什么是dockerDocker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。摘至菜鸟教程,https://www.runoob.com/docker/docker-tutorial.html举个简单的例子,如果项目新下来10台

2020-07-22 17:17:22 162

原创 程序员的PMP之路

PMP是什么?学习PMP感受?PMP能给我带来什么?

2020-07-15 21:16:49 637 4

原创 @Data注解导致的StackOverflowError

场景Springboot项目中使用Lombok,实体采用@Data注解。运行过程中报Caused by: java.lang.StackOverflowError。@Data到底做了啥?1、帮助我们生成Get/Set方法,简化javabean的代码冗余2、帮助我们重写equals方法,3、帮助我们重写hashCode4、大大提高了JavaBean的执行效率(?)StackOverflowError是哪里抛出的异常?通常一看到StackOverflowError,我们立马就想到是JVM在执行j

2020-07-15 20:04:05 669

原创 MySQL5.7对json的操作

场景:Mysql中需要存储用户的相关证件信息,即存储图片信息, 数量不定。这时候通常采用的做法:1、定义多个存储字段,限制上传图片数量。2、定义一个存储字段,多个图片用分隔符隔开,做为字符串存储。3、独立定义附件表,用来单独存储图片。1、2都不是很建议,但是具体还是要看业务咯。这里介绍另一种方式,即直接存储json.MySQL5.7开始支持Json类型在MySQL5.7.8中,MySQL支持由RFC 7159定义的本地JSON数据类型,它支持对JSON(JavaScript.

2020-07-13 16:18:20 217

原创 Vue-cli打包线上Nginx访问,css样式无效解决

问题重现:vue-cli-service build通过vue-cli-server build打包,将生成的dist目录发布到服务器,通过nginx代理访问,发现样式无效。百度寻找解决方案,要么是安装css-loader加载器,要么是修改config/index.js的assetsPublicPath为./但是我发现本地是正常的,并且测试服务器也是正常的。而且我的css文件是可以正常拉取的,所以并不是路径的问题。在F12发现控制台警告:发现提示的很明显, 就是浏览器渲染...

2020-07-02 17:31:14 1253

原创 Linux小白基础环境搭建汇总

以Centos7为例。由于系统是新购买的,所以这里(未使用docker)进行了ssh端口修改,防火墙配置,磁盘挂载,创建用户,JDK,Mysql,Redis等安装。一、磁盘挂载[root@iZuf69k182ad10go3ll24pZ ~]# fdisk -l //查看磁盘信息[root@iZuf69k182ad10go3ll24pZ ~]# fdisk /dev/sdb //开始格式化a). n //表示设定新的硬盘分割区b). p //表示设置的是主要分割

2020-06-09 14:13:09 149

原创 使用Aop+Redis+lua限流,优化高并发问题

限流的方式有很多:1、单机模式下,可以使用AtomicInteger、RateLimiter、Semaphore。2、分布式下,可以使用队列(如Kafka等),但是编码比较繁杂;也可以使用Nginx限流,但是属于网关层面,不能解决所有问题(如内部服务接口)。所以,应用层也是需要做限流操作的。这里简单结合Aop+redis+lua来实现。注:如果是需要接入层先流的话,建议还是要使用nginx自带的连接数限流模块和请求限流模块。Lua脚本: /** * 限流脚本 */

2020-05-22 17:25:18 455

原创 springboot集成swagger2出现404解决方案汇总

springboot整合swagger2:1、依赖包:<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version&g...

2020-04-11 10:26:01 5455 2

原创 java线上项目排查,Arthas简单上手

Arthas是Alibaba开源的Java诊断工具。参考:https://alibaba.github.io/arthas/当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? 遇到问题无法在线上 debug,难...

2019-12-06 16:03:23 337

原创 springmvc+redis实现简单消息队列

1、springmvc-redis.xml配置:<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ao...

2019-08-20 15:52:37 831 3

原创 SpringMVC自定义注解验证登陆拦截

这里业务场景需要,所有的请求都需要登录验证。个别通用业务不需要登录拦截。注解方式替代原有的if判断。使用:@RequireLogin默认(required = true)进行登录拦截。 声明属性required = false则放行。方法注解标记的优先级将大于类注解标记。元注解说明:@Retention:注解的保留位置         @Retention(RetentionPo...

2019-08-06 15:32:01 190

原创 log4j统一记录短信操作日志(入库)

1、log4j.properties配置:#指定需要收集的短信操作工具类,同时log级别为warnlog4j.logger.com.xxx.util.CUSMSUtils=warn, sqlDlog4j.appender.sqlD=org.apache.log4j.jdbc.JDBCAppenderlog4j.appender.sqlD.driver=com.mysql.jdbc.Dr...

2019-07-08 09:33:52 467

原创 Redis获取数据转json,解决动态泛型传参

场景:项目有两种角色需要不同的登录权限,将redis做为用户登录信息缓存数据库。码一个方法,希望能够根据传入不用用户实体类型来获取相应的数据。用户实体为:SessionEntity<User1>、SessionEntity<User2>。json使用FastJson。先阐述遇到的几个问题:1、redis获取到的数据序列化后,转json,经常提示转换异常(并不是每次,...

2019-06-24 10:04:22 3370 1

原创 解决kindeditor上传文件后Url域名被过滤问题

kindeditor处理url脚本:源码中提供了mode参数,应该有类型可供选择,查看api有一个urlType参数:修改该参数,发现,并没什么卵用。。。。。。最后处理方法:1、直接修改kindeditor.js脚本,将截取的url直接改成不截取。(不建议)2、查看api,提供另一个参数:初始化加上该参数,formatUploadUrl:false。 问题解决。...

2018-08-03 15:40:57 2359

原创 解决Vedio标签视频禁止下载方法

1、屏蔽鼠标右键:&lt;body oncontextmenu = "return false"&gt;2、屏蔽视频播放器右下角三个点的下载按钮(chrome会显示):&lt;video class="edui-upload-video  vjs-default-skin  video-js" controls="true" controlslist="nodownload" preloa...

2018-07-23 16:48:51 28377

原创 java下载word,解决文件名中文乱码的问题(包括edge跟ie11)

public void downloadFile(HttpServletRequest request, HttpServletResponse response, Integer type) throws FileNotFoundException, IOException { String fileName = “中文文件名.docx"; XWPFDocu...

2018-04-04 15:42:29 4931

原创 使用apidoc生成接口文档

一、首先安装node.js1. 下载Node.js官方Windows版程序:   https://nodejs.org/download/   从0.6.1开始,Node.js在Windows平台上提供了两种安装方式,一是.MSI安装文件,另外还有一个.EXE可执行文件。   我选择了.EXE文件。因为.MSI安装文件除了将node.exe复制到C:\Program File

2017-04-05 13:49:58 2810

原创 nginx+ssl配置http和https共存

由于ios硬性要求,上架appstore的ios产品都必须使用https协议,且使用TLS1.2以上的版本协议。这里通过nginx侦听,配置https协议。但是由于配置完之后,默认http协议请求都将进行ssl认证。考虑到安卓没有对https硬性要求,顾这里配置https与http协议共存。server { listen 80 default backlog=2048; #如果硬

2016-12-06 10:05:03 17170

原创 jdk之keytool生成ssl证书,搭建tomcat+https协议

一、 什么是HTTPS在说HTTPS之前先说说什么是HTTP,HTTP就是我们平时浏览网页时候使用的一种协议。HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全。为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。SSL目前的版本是3.

2016-12-01 16:05:22 15308 8

原创 centos卸载openjdk,安装oralce jdk

1、查看已安装的jdk:rpm -qa | grep java2、卸载openjdk:[root@qcx-database ~]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.65-2.5.1.2.el6_5.x86_64[root@qcx-database ~]# rpm -e --nodeps tzdata-java-2014g-1.e

2016-07-07 11:47:55 430

转载 hadoop详细了解5个进程的作用

问题导读:1.job的本质是什么?2.任务的本质是什么?3.文件系统的Namespace由谁来管理,Namespace的作用是什么?4.Namespace 镜像文件(Namespace image)和操作日志文件(edit log)文件的作用是什么?5.Namenode记录着每个文件中各个块所在的数据节点的位置信息,但是他并不持久化存储这些信息,为什么?6.客户端读

2016-03-24 11:44:03 4414

原创 html跳转,获取get提交参数

html跳转到html页面,url后面携带参数,可以通过脚本获取到url?test=value地址后的参数。1、more.html 携带参数跳转到list.html,get提交参数2、list.html  获取more.html提交过来参数1、more.html:function test() { window.location.href = "list.html?test=v

2015-07-23 19:34:30 17656 2

转载 分享到微博代码

新浪微博:1、各网站、论坛、博客等通用代码: tion(){window.open(‘http://v.t.sina.com.cn/share/share.php?title=’+encodeURIComponent(document.title)+’&url=’+encodeURIComponent(location.href)+’&source=bookmark’,'_blank’,'

2015-05-12 10:30:34 4012

转载 实现两个实体类属性之间的复制

/** * */package com.centerm.o2o.common;import java.beans.BeanInfo;import java.beans.Introspector;import java.beans.PropertyDescriptor;/** * 实现两个实体类属性之间的复制 * @author shamee-loop * */pub

2015-04-15 18:49:09 12376

原创 本地调试微信接口方法

调试微信接口,例如调试微信消息收发接口,我们需要提供一个公网访问url,正常情况下,我们需要建立web工程,然后打包,不部署服务器,提供服务器外网访问url。但是想要将自己本地电脑上运行的项目发布到公网,让所有人都可以访问,显然是很麻烦的一件事情。这里介绍三种方式(首先介绍使用ngrok),将本地运行代码发布到互联网,提供映射域名,实现本地调试微信接口:      ngrok 是一个反向代理,

2015-03-31 10:15:03 12734 2

myeclipse2014破解注册机

myeclipse2014破解注册机,内有教程 myeclipse2014破解注册机,内有教程

2019-01-02

使用jquery自定义星级评分插件demo

使用jquery自定义星级评分插件

2015-07-22

mysql-connector-java-5.1.11-bin

mysql-connector-java-5.1.11-bin

2014-10-27

mybatis-generator-core-1.3.2

mybatis-generator-core-1.3.2

2014-10-27

httpClient和htmlparse获取网页数据使用jar

httpClient和htmlparse获取网页数据使用jar

2014-08-14

模拟https请求工具类

httpClient模拟https请求,包含图片上传等。

2014-07-03

过滤字符串中包含表情字符

过滤一个字符串中包含有表情的字符,例如一个用户昵称中包含的表情

2014-07-03

pinyin4j相关的jar包跟demo

中文转成拼音相关工具类以及所用到的jar包

2013-08-08

javascript 身份证号码格式验证

运用javascript进行身份证号码格式验证。

2013-06-14

easyui-demo

easyui所用包,包含demo,js,css。

2012-12-21

eclipse_svn_site-1.6.15.zip

eclipse_svn_site-1.6.15.zip,提供myeclipse的svn插件

2012-12-08

futionchar完成版实例

包含functionchar的用法以及一些实例

2012-10-29

js 特效示例

提供一些 js 的特效示例以供大家参考

2012-10-17

formValidator

提供表单验证实例,里面的demo可供使用

2012-10-14

jquery-ui-1.7.2.custom.min.js

jquery-ui-1.7.2.custom.min.js 用于提供实现jquery特效的js

2012-09-30

空空如也

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

TA关注的人

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