- 博客(49)
- 资源 (8)
- 收藏
- 关注
原创 JVM总结(六):JVM字节码执行引擎
JVM字节码执行引擎 运行时栈帧结构 局部变量表 操作数栈 动态连接 方法返回地址 附加信息 方法调用 解析 分派 –“重载”和“重写”的实现 静态分派 动态分派 单分派和多分派 JVM动态分派的实现 基于栈的字节码解释执行引擎 基于栈的指令集与基于寄存器的指令集JV...
2019-02-21 17:27:41
204
原创 JVM总结(五):JVM类加载机制
JVM类加载机制:类加载的过程 类加载过程概括 说说引用 详解类加载全过程: 加载 验证 准备 解析 初始化 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是Java虚拟机的类加载机制。 ...
2019-02-20 23:44:35
300
原创 GET、POST、PUT、DELETE的介绍及其安全和幂等性
先介绍一下安全和幂等的概念— 所谓幂等是指不管进行多少次操作,结果都一样。比如,调用GET方法只是去请求资源,自然每次调用结果都是相同的,就是幂等的。对于POST请求,两次调用POST请求,可能就会在服务器创建两份资源,所以当然不是幂等的。 安全指的是是否会给服务器带来副作用,意思就是发送请求会不会改变服务器的状态,就比如说发送GET请求其实只是会获取服务器的资源,而不是去更改...
2019-02-06 14:52:17
4529
原创 JVM总结(四):类文件结构
类文件结构 字节码的意义 Class类文件的结构 Class类文件的存储形式 Class文件的格式 Class类文件结构详解类文件结构字节码的意义为什么存在字节码? 字节码是构成平台无关性的基石。实现语言无关性的基础是虚拟机和字节码存储格式。 Java语言中的各种变量、关键字和运算符的语义最终是由多条字节码...
2019-01-23 20:21:57
281
原创 常用的图片操作(保存图片 & 获得字节流 & 大小转换 & 压缩等等)
import com.sun.image.codec.jpeg.JPEGCodec;import com.sun.image.codec.jpeg.JPEGImageEncoder;import com.xiaoleilu.hutool.util.ZipUtil;import javafx.scene.shape.Path;import org.apache.commons.io.Fil...
2019-01-23 12:34:50
1396
1
原创 java的四种元注解
java中元注解有四个: @Retention @Target @Document @Inherited; @Retention:注解的保留位置 @Retention(RetentionPolicy.SOURCE) //注解仅存在于源码中,在class字节码文件中不包含 @Retention(RetentionPolicy.CLASS) //默认的保留策略...
2018-12-27 18:22:01
302
1
原创 JVM总结(三):内存分配策略
内存分配策略 对象优先在新生代Eden分配 大对象直接进入老年代 长期存活的对象将进入老年代 动态对象年龄判定 空间分配担保内存分配策略Java技术体系中所提倡的自动内存管理可以归结于两个部分:给对象分配内存以及回收分配给对象的内存。 我们都知道,Java对象分配,都是在Java堆上进行分配的,虽然存在JIT编译后被拆分为标量类型并简介地在栈上进行分配。如果采用分代算...
2018-12-20 23:47:54
177
原创 JVM总结(二):垃圾收集器
JVM总结(二):垃圾回收器垃圾回收器 对象已经死了吗? 对象生存判断算法 引用判断过程 垃圾收集算法简介 垃圾收集器 新生代垃圾收集器 老年代垃圾收集器 新生代和老年代垃圾收集器垃圾回收器对象已经死了吗?对象生存判断算法引用计数法给对象中添加一个引用计数器,每当一个地方引用到这个对象的时...
2018-12-20 23:36:15
232
原创 JVM总结(一):运行时数据区
JVM在执行Java代码时都会把内存分为几个不同的数据区来使用,这些区域都拥有自己的用途,并随着JVM进程的启动或者用户线程的启动和结束建立和销毁。这几个区域分为: 线程私有的数据区 程序计数器 虚拟机栈 本地方法栈所有线程共有的数据区 Java堆 方法区他们之间的关系图如下:JVM运行时的数据区结构线程私有的数...
2018-12-19 23:29:31
206
原创 mysql字段有默认值,Hibernate插入为空时报错的解决方法
当数据库字段有默认值,比如create_time,默认值为当前时间,在对象的属性列表应该改为:@Column(name = "create_time",insertable = false, updatable = false)private Timestamp createTime;否则会报错 : DataIntegrityViolationException ...
2018-11-27 20:21:28
918
1
原创 nginx配置文件详解
一、下面是nginx的主配置文件:# 运行用户,可不设置user www-data;# nginx进程,可设置为和cpu核数一样worker_processes auto;# 更改worker进程的最大打开文件数限制。如果没设置的话,这个值为操作系统的限制。# worker_rlimit_nofile# 进程pid存放位置pid /run/nginx.pid;# 设置...
2018-11-26 21:42:32
326
原创 (五) .gitignore
# Compiled class file*.class# Log file*.log# BlueJ files*.ctxt# Mobile Tools for Java (J2ME).mtj.tmp/# Package Files #*.jar*.war*.nar*.ear*.zip*.tar.gz*.rar# virtual machine cras...
2018-11-22 17:06:36
126
原创 (四) git 标签管理
为master定义一个标签:git tag v1.0为某个commit id 设置标签:git tag v0.6 + commitid查看所有标签:git tag查看标签的完整信息:git show v0.6添加标签时设置注释:git tag -a v0.7 -m "test version" commitid删除标签:git tag -d v1.0 删除服务端标签:gi...
2018-11-22 16:27:45
121
原创 (三) git分支管理
创建分支:git branch brh # git branch + 分支名 查看分支:git branch git branch -a # 查看全部分支 git branch -r # 查看远程分支 git...
2018-11-22 15:55:43
181
原创 (二) 远程仓库github
一、生成SSH Key在windows上,可以直接使用“git bash”工具创建Mac与Linux:直接打开本地终端命令行即可。然后在命令行输入以下两条命令:ssh-keygen -t rsa -C "你的邮箱地址"生成的ssh key 放在用户文件夹下面的~/.ssh/id_rsa.pub,例如Windows放在:C:\Users\Administrator\.ssh\id...
2018-11-22 12:22:41
163
原创 (一) git的安装和使用
一、git的安装在 Ubuntu 上,可以用 apt-get 安装:$ apt-get install git在 Mac 上使用图形化的 Git 安装工具 ,下载地址在:http://sourceforge.net/projects/git-osx-installer/在 Windows 上,可以到 GitHub 的页面上下载 exe 安装文件并运行:http://msysgi...
2018-11-21 15:04:20
158
原创 Redisson实现分布式锁
先封装一个RedissonManager类import com.bin.util.PropertiesUtil;import lombok.extern.slf4j.Slf4j;import org.redisson.Redisson;import org.redisson.config.Config;import org.springframework.stereotype.Com...
2018-11-20 20:12:33
610
原创 redis分布式锁
一、redis分布式锁的基本命令setnx getset expire delredis相关命令可参考我的另一篇文章:https://blog.youkuaiyun.com/voilet_bin/article/details/84072803二、Redis分布式锁流程图流程图很关键,一定要理解,可结合代码一起看:import com.bin.common.Const;impo...
2018-11-20 17:43:03
161
原创 Spring Schedule定时任务
一、Spring Schedule Cron表达式快速入门cron表达式的格式:秒 分 时 日 月 周 年(可选)字段名 允许的值 允许的字符 秒 0--59 , - * / 分 0--59 , - * / 小时 0--23 , - * / 月内日期 1--31 , - *...
2018-11-20 16:31:10
3233
原创 CookieUtil
import lombok.extern.slf4j.Slf4j;import org.apache.commons.lang.StringUtils;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletRes...
2018-11-16 11:34:24
116
原创 JsonUtil
import com.google.common.collect.Lists;import com.bin.pojo.Category;import com.bin.pojo.TestPojo;import com.bin.pojo.User;import lombok.extern.slf4j.Slf4j;import org.apache.commons.lang.StringUt...
2018-11-16 11:28:44
264
原创 RedisShardedPoolUtil
import com.bin.common.RedisShardedPool;import lombok.extern.slf4j.Slf4j;import redis.clients.jedis.ShardedJedis;/** * @Author Bingo */@Slf4jpublic class RedisShardedPoolUtil { /** *...
2018-11-16 11:24:00
334
原创 RedisShardedPool
import com.bin.util.PropertiesUtil;import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPool;import redis.clients.jedis.JedisPoolConfig;import redis.clients.jedis.JedisShardInfo;impo...
2018-11-16 11:22:04
2298
原创 RedisPool
import com.bin.util.PropertiesUtil;import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPool;import redis.clients.jedis.JedisPoolConfig;/** * @Author Bingo */public class RedisPoo...
2018-11-16 11:20:08
178
原创 RedisPoolUtil
import com.mmall.common.RedisPool;import lombok.extern.slf4j.Slf4j;import redis.clients.jedis.Jedis;/** * @Author Bingo */@Slf4jpublic class RedisPoolUtil { /** * 设置key的有效期,单位是秒 ...
2018-11-16 11:14:29
302
原创 cookie属性详解
一个域名下面可能存在着很多个cookie对象。name 字段为一个cookie的名称。value 字段为一个cookie的值。domain 字段为可以访问此cookie的域名。非顶级域名,如二级域名或者三级域名,设置的cookie的domain只能为顶级域名或者二级域名或者三级域名本身,不能设置其他二级域名的cookie,否则cookie无法生成。顶级域名只能设置do...
2018-11-16 10:59:50
159
原创 PropertiesUtil
import org.apache.commons.lang3.StringUtils;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.io.IOException;import java.io.InputStreamReader;import java.util.Properties;/**...
2018-11-15 10:01:21
175
原创 MD5Util
import org.springframework.util.StringUtils;import java.security.MessageDigest;/** * @Author Bingo */public class MD5Util { private static String byteArrayToHexString(byte b[]) { ...
2018-11-15 09:58:54
141
原创 FTPUtil
import org.apache.commons.net.ftp.FTPClient;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.uti...
2018-11-14 22:39:34
169
原创 DateTimeUtil
import org.apache.commons.lang3.StringUtils;import org.joda.time.DateTime;import org.joda.time.format.DateTimeFormat;import org.joda.time.format.DateTimeFormatter;import java.util.Date;/** * ...
2018-11-14 22:35:26
242
原创 BigDecimalUtil
import java.math.BigDecimal;/** * @author Bingo */public class BigDecimalUtil { private BigDecimalUtil(){ } public static BigDecimal add(double v1,double v2){ BigDecimal b...
2018-11-14 22:29:55
242
原创 redis常用命令
1、redis连接命令auth password 验证密码是否正确echo message 打印字符串ping 查看服务器是否正常运行quit ...
2018-11-14 22:13:15
542
原创 redis服务启动方式及远程连接
一、直接启动#加上`&`号使redis以后台程序方式运行 ./redis-server &#检测后台进程是否存在 ps -ef | grep redis #检测6379端口是否在监听 netstat -lntp | grep 6379 #启动`redis-cli`客户端检测连接是否正常 ./redis-cli 127.0.0...
2018-11-14 19:43:52
1929
原创 Tomcat单机部署多应用
此例以配置两个Tomcat为例(Mac版):1、下载apache-tomcat-7.0.75,下载下来的文件为apache-tomcat-7.0.75.tar.gz2、解压到,分别为 /usr/tomcat1,/usr/tomcat23、增加环境变量:vim /etc/profile(Windows在环境变量,系统变量里增加)export CATALINA_BASE=/usr/t...
2018-11-14 17:11:59
483
原创 maven环境隔离
一、前言在Maven项目开发中,一般都会有四种环境情形: 1. 本地环境(Local) 2. 开发环境(Dev) 3. 测试环境(Beta) 4. 发布环境(Prod) 在不同环境中,总会遇到FTP服务器配置不一样,数据库配置不一样等一系列问题,这样Maven的环境隔离将有助于我们轻松切换不同配置环境。maven环境隔离可以解决:避免人工修改的弊端,即容易犯错 避免分环境打...
2018-11-14 12:16:50
224
原创 Lombox原理及使用
一、什么是Lombok?作用是什么?Lombok官网:https://projectlombok.org简单的说就是:lombok其实就是帮助我们编写getter、setter、hash、equals和构造方法的一个“工具”,还有一点在于,当我们的属性发生改变时,lombok也会对相应的getter、setter方法名进行改变。除此之外,还提供了对打印日志的处理。这样在使用Lombok以后...
2018-11-14 11:10:56
325
原创 mysql远程连接及用户相关命令
一、创建用户并授权登录root:root@localhost:~# mysql -u root -p创建 username (用户) 使用password (密码) 从任何主机连接到mysql服务器:mysql>GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT O...
2018-11-12 13:12:11
3564
原创 Spring Boot全部配置项
真心多,收藏备用。# ----------------------------------------# 核心属性# ----------------------------------------# 文件编码banner.charset= UTF-8# 文件位置banner.location= classpath:banner.txt# 日志配置# 日志配置文件的位置。 例...
2018-11-09 17:33:45
673
原创 将Spring Boot 项目的jar包部署到服务器
jar包方式启动,也就是使用spring boot内置的tomcat运行。服务器上面只要配置了jdk1.8及以上即可。不需要外置tomcat 1.打成jar包2.将jar包放到任意目录,执行下面的命令^Croot@localhost:/myfile# nohup java -jar xin-0.0.1-SNAPSHOT.jar >temp.txt &[1] 3593...
2018-11-09 16:05:57
285
原创 Ubuntu上配置nginx及相关命令
一、安装nginx在Ubuntu下安装Nginx有以下方法,但是如果想要安装最新版本的就必须下载源码包编译安装。1、基于APT源安装:sudo apt-get install nginx安装好的文件位置:/usr/sbin/nginx:主程序/etc/nginx:存放配置文件/usr/share/nginx:存放静态文件/var/log/nginx:存放日志其实从上面...
2018-11-09 13:07:07
1108
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人