自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Gavin_wangzg的专栏

好记性不如烂笔头

  • 博客(37)
  • 资源 (1)
  • 收藏
  • 关注

原创 Java面试必问知识点之三--垃圾收集器与内存分配策略

垃圾收集器与内存分配策略* 哪些内存需要回收程序计数器,虚拟机栈,本地方法栈都是线程私有,随线程而生,线程而灭; 这几个区域的内存分配和回收都是确定。而java堆和方法区是线程共享的区域,这部分内存的分配和回收都是动态的,垃圾收集器主要关注这部份的内存区域。* 什么时候回收当对象“死亡”时会被垃圾收集器回收判断对象是否存活的方法:引用计数法给对象添加一个引用计数器,每当对象被引用时,计数器数值加1;每当引用失效时,计数器数值-1。当数值为0时对象则不能被引用,判断为死亡需要被垃圾收集器回

2020-10-24 14:47:56 229

原创 像这样写,Java菜鸟也能写出牛逼的代码

场景一 有时候我们会遇到一个方法就是占满了整个屏幕,其中各种if else 判断 ,for 循环嵌套,时不时来穿插着各种a b c参数,让人看得实在是眼花缭乱。让后面维护的人望而却步,也实在的代码块后面继续增加,增加......当我们看着这样的代码时,庆幸的事不用我来维护,坑爹的事需要自己来改,心中早已一万个草尼玛飘过了。场景二 当一些新手刚学习接触设计模式的时候,感觉就像看到了武功秘籍。想也没想就直接网上套,各种 工厂模式,策略模式,装饰模式等等,会显得更加臃肿,类过多。本来是简单的功能,会可能就

2020-09-15 23:16:55 419

原创 Java面试必问知识点之一

HashSet如何保证不重复的数据HashSet构造函数public HashSet() { map = new HashMap<>(); }// 还是通过HashMap来实例化一个mapadd() public boolean add(E e) { return map.put(e, PRESENT)==null; }//它将传入的对象当做HashMap的key,由于hashMap的key是不允许重复的,所以每当重复的值传入Hash

2020-09-14 22:09:46 212

原创 Java面试必问知识点之二-ThreadLocal 详解

概念ThreadLocal 用于提供线程局部变量,在多线程环境可以保证各个线程里的变量独立于其它线程里的变量。也就是说 ThreadLocal 可以为每个线程创建一个【单独的变量副本】,相当于线程的 private static 类型变量。使用示例public class ThreadLocalTest { private static String strLabel; private static ThreadLocal<String> threadLabel = n

2020-09-13 16:10:23 264

原创 Java要避免的前5个异常处理编码实践

不应该捕获Throwable和Error类永远不应该调用Throwable.printStackTrace(...)通用异常永远不应抛出Error,RuntimeException,Throwable和Exception异常处理程序应保留原始异常不应使用System.out或System.err来记录异常不应该捕获Throwable和Error类try { cl = Thread.currentThread().getContextClassLoader(); }catch .

2020-09-12 16:18:22 450

原创 jmeter+maven+jenkins搭建自动化接口性能测试(二)

继续之前的步骤还不熟悉的,还可以继续返回看看 jmeter+maven+jenkins搭建自动化接口性能测试(一)jenkins构建这里不再讲述jenkins使用了要不然文章会比较冗长不是介绍搭建的过程而是变成了使用。个人对jenkins也是比较陌生的,趁着这次机会也学习了下,了解的也只是皮毛,它的强大之处还需要继续摸索。...

2020-09-12 15:57:43 198

原创 jmeter+maven+jenkins搭建自动化接口性能测试(一)

背景微服务流行的今天,各个子系统之间大多使用接口来交互,为了来保证接口的高可用,一套相关的接口测试也是呼之欲出。接下来一起来聊聊用jmeter+maven+jenkins三个工具来对dubbo接口的测试,当然不局限dubbo接口,jmeter本能是一个精致小巧的性能测试功能,能帮我们录制各种类型测试的脚本。jmeter录制脚本对测试的同学来讲jmeter肯定不陌生,但我一开始可是个门外汉,边...

2018-11-14 15:01:24 1116

原创 实体类转换DTO的方式

背景:在对外传输数据展示过程中,为了避免model层直接对外暴露,我们会多加一个对应的DTO保理想要传输的数据即可,隐藏model层。应对: 1.第一种,如果是实体类字段类型都一样,大部分会采用bean拷贝的方式,BeanUtils.copyProperties(obj,obj),单个对象的转换还好,但是List对象就要循环来转换。2.第二种,要是遇到驼峰类型字段与下划线字段的对象进行转...

2018-08-21 15:36:36 6032

原创 mybatis.generator自动生成代码使用介绍(maven插件)

1.首先在项目的pom文件中加入如下的代码片段,进行插件配置 &lt;build&gt; &lt;plugins&gt; &lt;plugin&gt; &lt;groupId&gt;org.mybatis.generator&lt;/groupId&gt; &lt;artifactId&...

2018-06-23 11:25:52 238

原创 Java面试必问知识点之三-Spring事务

Spring事务配置: 1.在Spring配置文件引入tx&lt;beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework...

2018-04-12 09:21:57 324

原创 SpringBoot集成WebService

服务端部分:第一步:在Pom文件加入WebService的相关包配置,如下 &lt;properties&gt; &lt;project.build.sourceEncoding&gt;UTF-8&lt;/project.build.sourceEncoding&gt; &lt;java.version&gt;1.7&lt;/java.version&gt...

2018-04-09 15:47:44 1674 2

原创 SpringBoot拦截器+注解方式实现防止表单重复提交

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Gavin_wangzg/article/details/79738316表单重复提交在web应用中是比较常见的问题,重复提交的动作容易造成脏数据,为了避免这重复提交的操作简便的方便是采用拦截器+注解的方式。基本的原理:url请求时,用拦截器拦截,生成一个唯一的标识符(token),在新建...

2018-03-29 10:07:03 7874

原创 java免费获取物流信息

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Gavin_wangzg/article/details/79701113原理其实很简单就是去java自带的HttpURLConnection模拟浏览器请求快递搜索的方法第一步:分析快递搜索框是怎么来查询的,在web页面上,无非就是用Jquery的ajax动态的去后台读取物流信息 如上图...

2018-03-26 17:27:28 4163 2

原创 用表单格式化插件jquery.serializejson将表单上的数据转换成JSON对象

没有这个插件之前要想JS获取到form表单的数据,在ajax传到后台也是蛮痛苦的事,虽然都是简单用$(“#id”).val()获取到表单的值,要是量多了也是很磨人的。好吧,废话不多说!看下这个jquery.serializejson.js插件是怎么给我们带来便利的 像正常使用jquery一样把下载好的文件引入到页面中 下载地址&lt;script src=/js/jquery.seri...

2018-02-08 14:39:56 730

原创 DECIMAL相关的一些问题

在mysql选择DECIMAL类型 DECIMAL(N,M)中M值的是小数部分的位数,若插入的值未指定小数部分或者小数部分不足M位则会自动补到M位小数,若插入的值小数部分超过了M为则会发生截断,截取前M位小数。N值得是整数部分加小数部分的总长度,也即插入的数字整数部分不能超过**N-M**位,否则不能成功插入,会报超出范围的错误Java中的BigDecimal类用法 Java中提供

2018-01-25 19:14:31 702

原创 JAVA WEB工程中的web.xml文件

在传统的java web项目中不可避免的是要配置web.xml文件,在应用启动时web.xml用来初始化工程配置信息,其重要性就不言而喻了。既然是xml文件,它就遵循一些xml文件的书写规格,这里就不说明了,web.xml所对应的xml Schema文件中定义了多少种标签元素,web.xml中就可以出现它所定义的标签元素,也就具备哪些特定的功能。web.xml文件的根元素为<web-app>。<?

2017-11-21 11:45:25 660

原创 oracle 单列数据分组合并

oracle由于版本的问题,一些函数不会相互兼容。 当我们在不知道自己的所使用的oracle是什么版本的时候可以通过下面的这个语句查询下在使用具体的函数。select * from v$version;在oracle10g中wn_concat()函数是可以正常使用的,但是它没有向上兼容 wn_concat(): 简单的语法是 select wn_concat(字段A) from 表名

2017-11-17 14:16:42 2241

原创 由于get请求的中文参数乱码

后台转换编码格式:String bankName = new String((request.getParameter("bankName")).getBytes("iso-8859-1"),"utf-8");

2017-11-02 09:08:03 674

原创 Echarts第二讲-JAVA实现

上一讲的Echarts小记介绍了一些基本的使用点,安装,引用,配置option,组装数据。 但是有没有发现,Echarts的option要配置大量js文件,即使你把单独引用一个js文件,看上去还是很冗长。当你做一两个图表的时候还是,但我这次的需求要设计100多个不同样式的宏观数据图表时,还这样做就要奔溃了。 仔细发现option是标准的json格式的数据,也就是说我们后台可以动态的组装o

2017-09-22 11:13:56 653

原创 JAVA获取目标日期对应的年,月,季度,周时间类

好记性不如烂笔头public class TimeUtil { /** * 获取 当前年、半年、季度、月、日、小时 开始结束时间 */ private final static SimpleDateFormat shortSdf = new SimpleDateFormat("yyyy-MM-dd"); private final static SimpleD

2017-08-14 16:18:08 5201

原创 ECharts试用小记

ECharts,一个纯 Javascript 的图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖轻量级的 Canvas 类库 ZRender,提供直观,生动,可交互,可高度个性化定制的数据可视化图表。Echarts提供了多种多样的图标以及对应的示例,在试用之前可以进行一个参照http://echa

2017-07-14 10:18:20 812

原创 HTTP状态码

常用的状态码不多,约有14种。1** 类状态码称之为Information 状态吗,表示信息正在处理。2** 类状态码称为为Success状态码,表示请求正常完成。3**类状态码称之为Redirection 状态码,表示需要客户端进行附加操作(如跳转。重定向)4**类状态码称之为Error状态码,通常是由于客户端的错误导致的。5**类状态吗称为Server Error状态码,通常是服务端的错误导致的

2017-07-12 17:16:33 314

转载 MySQL优化(连接优化和缓存优化)

转载来至http://www.cnblogs.com/roverliang/p/6501768.html一、MySQL 连接优化引发连接数过多的错误原因一般有两个,第一的确是有很多人在连接MySQL,造成连接数用完。第二种是max_connections值过小。1、连接参数(show variables)mysql> show variables like ‘%connect%’; +——————

2017-07-12 15:37:49 1585

原创 数据库主键ID生成

1.很多情况下会应用数据主键自增长(+1)的形式生成主键ID,这种方式显然不恰当; 2.对唯一主键业务上处理还会用UUID唯一的32位字符串作为主键,但之前在数据库优化中了解到32为字符串类型性能不如整型;最近看到一个最佳的实践:public static long getSID() { return MurmurHash.hash64(UUID.randomUUID().toStr

2017-06-12 11:16:28 6508

转载 MySql数据库优化注意的四个细节

MySQL 数据库性能的优化是 MySQL 数据库发展的必经之路, MySQL 数据库性能的优化也是 MySQL 数据库前进的见证,下文中将从从4个方面给出了 MySQL 数据库性能优化的方法。1、选取最适用的字段属性 MySQL 可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽

2017-06-11 00:32:00 451

原创 Java面试必问知识点之四-cookie和session

用思维导图来整理了下cookie和session的一些理论。1. cookieCookie cookie = new Cookie("key", "value");  cookie.setMaxAge(60); //Sets the maximum age of the cookie in secondsresponse.addCookie(cookie);

2017-06-08 10:05:14 297

原创 druid数据库连接池整合到SpringMvc

1.maven项目加入相关的依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.29</version> </dependency>2.引入配置文件数据库连接相关信息 <!-- 引入配置文件 -->

2017-05-11 11:19:33 2303

原创 JAVA OpenOffice+jodconverter转换WORD为PDF

之前有需求要实现一个将word文档转为PDF文档的功能,刚开始也是无厘头的从网上收集到一些资料,自己也做了下实践。 OpenOffice是一个跨平台的office办公套件,这点也是最符合功能的需要,因为项目也是部署在Linux。 OpenOffice可以在http://www.openoffice.org/下载安装各版本 jodconverter 可以添加maven依赖<dependency>

2017-03-21 15:53:24 3612

原创 java IO 基于模板文件替换字符生成word文档

有很多人会选择用POI来实现这个功能,虽然说POI第三方包提供了很多方法,但JAVA IO流也不是吃素的,同样也可以实现基于模板文件替换字符生成文档. 这个功能在web应用中还是蛮常见的,用户们喜欢根据自己的模板,然后在加上提供的内容,自动生成出不同的word文档,省时省力.现在直接贴出代码.public class WangTest { public static void main(

2017-01-05 14:55:48 1023 1

原创 Tomcat数据源配置笔记

现在做javaWeb开发用的服务器一般都是tomcat,而且数据源的配置往往都是在applicationContext.xml中配置一个dataSource的bean,这样往往就会造成很多的不便,本文就介绍把数据配在tomcat下。 1、首先在tomcat对应的这个目录下apache-tomcat-4\conf\Catalina\localhost建一个你对应项目名的xml文件(文件名可随意起

2016-07-20 23:36:53 3585

原创 Spring AOP 学习笔记

1、通过xml配置aop1.1 新建一个aop的切面类@Aspectpublic class MkztAspect { private static final Logger log = LogManager.getLogger(MkztAspect.class); public void mkztAround(JoinPoint point) { System.ou

2016-07-12 10:33:17 812

原创 Web Service学习笔记

Web Service有以下的优越性:1)平台无关。不管你使用什么平台,都可以使用Web service。2)编程语言无关。只要遵守相关协议,就可以使用任意编程语言,向其他网站要求Web service。这大大增加了web service的适用性,降低了对程序员的要求。3)对于Webservice提供者来说,部署、升级和维护Web service都非常单纯,不需要考虑客户端兼容问题,而且一次性就能完

2016-07-08 17:03:11 604

原创 oracle笔记2-程序包,过程,游标

一、程序包 程序包介绍:程序包(PACKAGE,简称包)是一组相关过程、函数、变量、常量和游标等PL/SQL程序设计元素的组合,作为一个完整的单元存储在数据库中,用名称来标识包。它具有面向对象程序设计语言的特点,是对这些PL/SQL 程序设计元素的封装。包类似于c#和JAVA语言中的类,其中变量相当于类中的成员变量,过程和函数相当于类方法。把相关的模块归类成为包,可使开发人员利用面向对象的方法进

2016-06-15 16:11:16 1121

原创 oracle笔记1-FUNCTION 函数

CREATE OR REPLACE FUNCTION F_GET_BZGS(I_NY VARCHAR2) RETURN NUMBER AS V_SQL_BZGS VARCHAR2(2000); V_KSRQ DATE := ADD_MONTHS(TO_DATE(I_NY || '-21', 'yyyy-mm-dd'), -1); V_JSRQ DATE := TO_D

2016-06-15 15:10:07 756

原创 java基础 三种方式对int类型的List集合排序(通用排序)

首先我们定义一个List并且add元素List list = new ArrayList(); list.add(1); list.add(89); list.add(45); list.add(38); list.add(90);第一种方法:运用java.util.Collections这个jdk提供的类 Colle

2016-06-08 11:20:41 27742

原创 linux下安装JDK和tomcat以及遇到的误区

很多新手在linux服务器或者系统上部署开发环境还是有一定模糊的,本人也是亲身实践了下和网上各种查询成功部署。安装的版本用的是jdk1.7 64位,tomcat1.64首先可以去官网上下载http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html(推荐)推荐安装tar.gz的

2016-03-28 23:01:59 1760

原创 完整SpringMVC上传图片组件及保存图片地址到数据库

在阅读网上众多资源后,发现S

2014-08-13 14:46:44 11633 4

jquery.serializeJSON插件

jquery.serializeJSON插件,将表单上的一些控件的值转成JSON

2018-02-08

空空如也

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

TA关注的人

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