若鱼的专栏

JAVA开发

你真的会用Enum吗?

关于自定义Enum总共有4篇,本篇为第1篇,后面会继续介绍如何集成SpringMVC、如何集成Mybatis和SpringBoot。 JDK从1.5开始新添加了枚举类Enum,用起来也比较简单,比如我们要定义一个Week的Enum: public enum Week{ MONDAY, ...

2019-05-21 09:01:39

阅读数 6

评论数 0

JS中文字符串转GBK字节数组

需要引入gbk.js,在这里:gbk.js下载 <script> function toGbkBytes(str) { var str = $URL.encode(str) var arr = str.split("%"); ...

2019-03-27 18:42:36

阅读数 119

评论数 1

SpringMVC+Mybatis,@Transactional注解会影响Mybatis的一级缓存

项目使用的是SpringMVC+Mybatis,如果service的方法里面全都是查询,那么加不加@Transactional有什么影响呢? SpringMVC集成Mybatis的常见配置如下: <!--数据源--> ...

2018-12-27 16:32:42

阅读数 253

评论数 2

JDK11-G1收集器调优

G1通用推荐设置 G1一般推荐使用它的默认设置,然后设置一个停顿时间和最大堆内存的目标。 G1跟别的收集器不一样,G1默认配置的目标既不是最大化吞吐量也不是最小化停顿时间,而是使用时间相对较短的停顿来达到很高的吞吐量。 但是,G1的这种增量回收内存和停顿时间的控制机制不管是对应用线程还是对内存...

2018-10-02 14:13:01

阅读数 981

评论数 1

JDK11-G1垃圾收集器

原文在这里:https://docs.oracle.com/en/java/javase/11/gctuning/garbage-first-garbage-collector.html G1垃圾收集器简介 The Garbage-First (G1) garbage collector is...

2018-10-01 15:13:42

阅读数 1549

评论数 0

如何解决ThreadLocal与ThreadPool的小矛盾?

忽然发现还有个更牛逼的:https://github.com/alibaba/transmittable-thread-local ThreadLocal一个很有用的场景:收到请求,框架解析出用户User对象,保存到ThreadLocal中,然后Controller、Service中就可以直接从...

2018-08-23 12:46:35

阅读数 387

评论数 0

JVM的方法区和永久带是什么关系?

原文这这里:https://www.imooc.com/article/47149 群里面有小伙伴问到这个问题,说在网上看了很多文章,但是还是没弄明白这俩是啥关系,下面我们就来详细的解释一下: 什么是方法区? 方法区(Method Area)是jvm规范里面的运行时数据区的一个组成部分,jv...

2018-07-26 11:07:52

阅读数 5467

评论数 3

java并发编程之wait&notify VS lock&condition

jdk5之前线程同步可以用synchronized/wait/notify来进行控制,jdk5以后新添加了lock/condition。他们之间有什么联系与区别的?本文就用一个例子循序渐进的给大家展示一下:首先来看一个有界缓存的例子:abstract class BaseBoundedBuffer...

2018-07-06 09:55:37

阅读数 228

评论数 0

java里面i++与++i到底哪一种写法的效率高?

首先我们来看一段简单的代码:f1()和f2()唯一的区别在于:f1()使用的i++,而f2()使用的++i。那么这两种情况之下,哪一种写法的效率高呢?单纯从源码层面我们是看不出来到底是哪一种效率高的,但是我们可以用javap打印一下字节码,然后再来看,命令行执行:javap -verbose Se...

2018-07-04 08:41:09

阅读数 450

评论数 0

Java中如何做GC调优?

首先要明确以下几个东西:(1)评价GC性能的指标有哪些?一个是吞吐量,另一个是最大停顿时间。什么叫吞吐量?GC里面的吞吐量说的是cpu花在垃圾回收的时间和花在应用程序上的时间的占比。什么叫最大停顿时间?就是中断应用程序来做垃圾回收的应用停顿时间。(2)常用的GC有哪些?GC分为3大类:serial...

2018-07-02 16:52:22

阅读数 414

评论数 0

深入解析String#intern

原文在这里:https://tech.meituan.com/in_depth_understanding_string_intern.html引言在 JAVA 语言中有8中基本类型和一种比较特殊的类型String。这些类型为了使他们在运行过程中速度更快,更节省内存,都提供了一种常量池的概念。常量...

2018-05-22 19:21:04

阅读数 486

评论数 0

又见到一个利用redis漏洞的活生生的例子

见到一个如何利用redis漏洞的活生生的例子,原理大概如下:config set  dir /var/spool/cronconfig set dbfilename root新建cron.txt :*/1 * * * * ls>/tmp/ls.txt(echo -e &...

2018-05-16 17:23:55

阅读数 1130

评论数 1

Redis配置错误导致主机被黑

现象以及如何处理参考:http://blog.51cto.com/hld1992/2047658公司有台做voip的服务器最近CPU总是跑满,这机器自从交给厂家搭好环境后基本就没怎么管它,于是进去查看进程,top了下(见下图)这个叫wnTKYg的进程很诡异,已经把CPU吃光了,上网一查,原来是中了...

2018-04-16 14:10:20

阅读数 641

评论数 2

高性能网站设计之缓存更新的套路

原文在这里:https://blog.csdn.net/tTU1EvLDeLFq5btqiK/article/details/78693323看到好些人在写更新缓存数据代码时,先删除缓存,然后再更新数据库,而后续的操作会把数据再装载的缓存中。然而,这个是逻辑是错误的。试想,两个并发操作,一个是更新...

2018-03-29 10:49:58

阅读数 1638

评论数 0

面试回答问题的小套路

先把结论抛出来,如果感觉有道理就继续往下看,如果不认同就省了浪费时间了 面试回答问题不是做选择题,更不是做判断题,而是作文题 要引导面试官往你自己会的题目上问问题,切忌就问题回答问题 首先要分析问题,然后再提出解决的方案 举一个栗子 问:单例模式哪一种实现效率高? 错误的回答:静态内部类延迟...

2018-03-29 09:41:03

阅读数 1201

评论数 0

CentOS6.7下RabbitMQ3.6.14安装报错:{error,{missing_dependencies,[crypto,ssl],

CentOS6.7安装RabbitMQ3.6.14报错:重新一下openssl就可以了。1. 安装openssltar -zvxf openssl-1.0.1s.tar.gzcd openssl-1.0.1s./config --prefix=/usr/local/openssl修改Makefil...

2018-01-17 16:02:13

阅读数 2239

评论数 0

Tesseract做图片验证码识别

linux下的安装 [ 参考这里 ]环境准备 yum -y update yum -y install libstdc++ autoconf automake libtool autoconf-archive pkg-config gcc gcc-c++ make libjpeg-dev...

2017-12-27 17:48:43

阅读数 4787

评论数 0

电商网站的秒杀是如何实现的

秒杀与其他业务最大的区别在于:秒杀的瞬间,(1)系统的并发量会非常的大(2)并发量大的同时,网络的流量也会瞬间变大。 关于(2),最常用的办法就是做页面静态化,也就是常说的前后端分离,把静态页面直接缓存到用户的浏览器端,所需要的数据从服务端接口动态获取。这样会大大节省网络的流量,再加上CDN,一...

2017-12-26 08:30:57

阅读数 3899

评论数 0

Tomcat开启APR运行模式,优化并发性能

原文在这里:http://blog.csdn.net/xyang81/article/details/51502766 Tomcat支持三种接收请求的处理方式:BIO、NIO、APR  1>、BIO模式:阻塞式I/O操作,表示Tomcat使用的是传统Java I/O操作(即jav...

2017-12-21 09:09:31

阅读数 3913

评论数 0

Nginx配置Https访问,tomcat无法正确获取schema的问题

Nginx配置Https访问,反向代理tomcat,发现两个问题: (1)redirect之后的schema全变成了http。 (2)request.getSchema()全部返回http。 对于(1)解决办法:参考:http://blog.csdn.net/mr_smile2014/articl...

2017-12-15 17:29:14

阅读数 1296

评论数 0

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