自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(73)
  • 资源 (14)
  • 收藏
  • 关注

转载 如何在React中使用async/await (componentDidMount Async)

https://juejin.im/post/6844903641527091207

2020-11-09 17:40:24 2564

原创 一篇文章让你弄懂到底什么是classpath

classpath其实就是一个路径而已,我们经常在spring的配置文件中这样写:<property name="configLocation" value="classpath:mybatis/SqlMapConfig.xml" />这样配置完之后spring就知道mybatis配置文件所在的地方。那么?这个classpath指向的地方到底是哪里呢?**classpath...

2020-03-14 21:34:49 572

原创 一篇文章彻底解决浏览器发送url带中文参数乱码问题

说明:本文适用于url传参时中文乱码问题。(也就是基于get请求方式)url传参可以是手动在地址框输入参数:https://cn.bing.com/search?q=中文PC=U316&FORM=CHROMN也可以是服务器的重定向拼接参数:return "redirect:/info/getProject?schoolName=" + encodeTwice;也...

2020-03-13 19:44:47 3308

原创 springboot 2.x工程打war包,并发布到tomcat容器。

软件版本:idea:2019.1 ultimatespringboot: 2.2.5tomcat:9.0.31一、修改默认打包方式,讲打包方式改为war <version>0.0.1-SNAPSHOT</version> <name>infocollection</name> <description>Demo ...

2020-03-12 22:04:11 788 1

转载 JS通过正则限制 input 输入框输入数字,字母

下面给大家介绍js正则限制input框输入的常用代码1.只能输入数字和英文的: 1 2 3 <input onkeyup="value=value.replace(/[\W]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text...

2020-03-08 16:06:35 4086

原创 JS打开新窗口的2种方式

1、在本窗口打开:超链接<a href="//www.baidu.com" title="本百度">Welcome</a>等效于js代码window.location.href="//www.baidu.com"; //在同当前窗口中打开窗口2、在新窗口打开:超链接<a href="//www.baidu.com" title="新百...

2020-03-07 18:49:01 1054

原创 easyCode的type mapper列类型属性类型映射问题

首先,对于easyCode的安装和使用的小例子,这个文章写的很不错:https://mp.weixin.qq.com/s/x4uqNXunpwNeRJuwRyOvxw,我就不一一赘述了。这个教程中@mapper和@mapperscan二取一就好;springboot2.x中,只要加入devtools的jar包,默认就是optional为true;默认自带的Hikari性能也不错,如果不是项目强...

2020-03-06 14:34:59 13055 9

原创 datatable或者datagridview中的数据导出到excel中

在做winform窗体编程的时候,很多时候都需要把datatable中的数据或者datagridview中的数据导出到excel中,供用户查看。而且在导出时又分为单文件单表格和单文件多表格导出。单文件单表格:一个excel文件,里面只有一个sheet单文件多表格:一个excel文件,里面有多个sheet话不多说,直接上代码:导出辅助类:using NPOI.HSSF...

2020-03-02 01:27:27 282

原创 c#中有关config.ini配置文件的增删改查

using System;using System.Collections.Generic;using System.Runtime.InteropServices;using System.Text;namespace DAL{ public class Ini { // 声明INI文件的写操作函数 WritePrivateProfileString...

2020-02-20 17:45:00 996

原创 WinForm窗体及其所有控件和字体的自适应大小

一、说明  网上有很多关于此问题的博客,其中也讲解了控件自适应的原理。近期有网友说,装在panel,groupbox等容器里面的控件,没有效果?  这是控件嵌套的问题,加入即可实现。当控件在groupbox等容器中时,他就只受groupbox管理,而不是Form容器管理。使用皮肤时,要注意在窗体Load事件中,有些控件(比如DataGridView)的子控件还没有完成,在这里记录控件的...

2020-02-08 02:16:15 3295 2

转载 对象和数组都是在堆内存上分配吗???

JVM内存分配策略关于JVM的内存结构及内存分配方式,不是本文的重点,这里只做简单回顾。以下是我们知道的一些常识:1、根据Java虚拟机规范,Java虚拟机所管理的内存包括方法区、虚拟机栈、本地方法栈、堆、程序计数器等。2、我们通常认为JVM中运行时数据存储包括堆和栈。这里所提到的栈其实指的是虚拟机栈,或者说是虚拟栈中的局部变量表。3、栈中存放一些基本类型的变量数据(int/sho...

2019-09-24 09:50:43 2540

原创 java中的访问修饰符

对Java中的修饰符一直记不住,现在结合网上的一些资料进行总结,并重点说明一下protected修饰符。一. Java中的访问修饰符  Java面向对象的基本思想之一是封装细节并且公开接口。Java语言采用访问控制修饰符来控制类及类的方法和变量的访问权限,从而向使用者暴露接口,但隐藏实现细节。访问控制分为四种级别:  (1)public: 用public修饰的类、类属变量及方法,包内及...

2019-09-19 22:11:36 117

转载 详解Java中的clone方法 -- 原型模式

Java中对象的创建clone 顾名思义就是 复制 , 在Java语言中, clone方法被对象调用,所以会复制对象。所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象。我们回顾一下:在java语言中,有几种方式可以创建对象呢? 使用new操作符创建一个对象 使用clone方法复制一个对象 那么这两种方式有什么相同和不同呢?ne...

2019-09-19 20:47:54 161

转载 重载与重写的区别

重载(Overloading)方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。重载Overloading是一个类中多态性的一种表现。Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法, 这就是多态性。重...

2019-09-18 19:07:39 97

转载 java中的基本数据类型的转换,最全讲解,不看后悔!!!

Java中,经常可以遇到类型转换的场景,从变量的定义到复制、数值变量的计算到方法的参数传递、基类与派生类间的造型等,随处可见类型转换的身影。Java中的类型转换在Java编码中具有重要的作用。首先,来了解下数据类型的基本理解:数据是用来描述数据的种类,包括其值和基于其值基础上的可进行的操作集合。Java中数据类型主要分为两大类:基本数据类型和引用数据类型。基本数据类型共有8种,分别是:布尔...

2019-09-18 18:56:16 966

原创 拦截器与Filter的区别

Spring的拦截器与Servlet的Filter有相似之处,比如二者都是AOP编程思想的体现,都能实现权限检查、日志记录等。不同的是:使用范围不同:Filter 是Servlet 规范规定的,只能用于Web程序中。而拦截器既可以用于Web程序,也可以用于Application、Swing 程序中。规范不同:Filter 是在Servlet 规范中定义的,是Ser...

2019-09-17 10:20:17 198

原创 springmvc参数绑定的几种方式总结:

在使用spring的项目中,前台传递参数到后台是经常遇到的事, 我们必须熟练掌握一些常用的参数传递方式和注解的使用,废话少说,直接上正文。1. @requestMapping:类级别和方法级别的注解, 指明前后台解析的路径。有value属性(一个参数时默认)指定url路径解析,method属性指定提交方式(默认为get提交)@RequestMapping("/user")...

2019-09-16 22:21:33 870

转载 jvm内存,堆内存,方发区,你分清楚了吗?

JAVA堆内存管理是影响性能主要因素之一。堆内存溢出是JAVA项目非常常见的故障,在解决该问题之前,必须先了解下JAVA堆内存是怎么工作的。先看下JAVA堆内存是如何划分的(jdk1.8之前),如图:JVM内存划分为堆内存和非堆内存,堆内存分为年轻代(Young Generation)、老年代(Old Generation),非堆内存就一个永久代(Permanent Generati...

2019-09-15 12:57:08 1102 3

原创 jvm中的常量池到底在哪里?

首先放上一张图片:首先通过上图明白,java的runtime data area中分为栈,本地方法栈,程序计数器,堆,方法区所以说堆内存和方法区不是在一起的,网上很多博客这一点都没有分清楚。详细分析可以看我的另一篇文章:堆内存,方发区,分清楚了吗?其次,方法区和永久代的关系很像Java中接口和类的关系,类实现了接口,而永久代就是HotSpot虚拟机对虚拟机规范中方法区的一种实现方式...

2019-09-15 12:53:50 13577 5

原创 在IDEA中利用Maven完成MyBatis Generator逆向工程生成代码

本文介绍一下在IDEA中使用Maven生成Mybatis的代码及其映射一、在生成的pom中添加如下信息<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XM...

2019-09-14 09:23:32 163

原创 mybatis中的#和$的区别

先来一段比较难懂的官话(大佬看的),哈哈哈:经常碰到这样的面试题目:#{}和${}的区别是什么?正确的答案是:#{}是预编译处理,${}是字符串替换。(1)mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值。(2)mybatis在处理${}时,就是把${}替换成变量的值。(3)使用#{}可以有效的防止SQL...

2019-09-13 20:59:40 290

转载 ResultMap和ResultType在使用中的区别

在使用mybatis进行数据库连接操作时对于SQL语句返回结果的处理通常有两种方式,一种就是resultType另一种就是resultMap,下面说下我对这两者的认识和理解resultType:当使用resultType做SQL语句返回结果类型处理时,对于SQL语句查询出的字段在相应的pojo中必须有和它相同的字段对应,而resultType中的内容就是pojo在本项目中的位置。因此对于单...

2019-09-13 20:22:45 249

转载 常见设计模式

1. 写一个单例类。答:单例模式主要作用是保证在 Java 应用程序中,一个类只有一个实例存在。下面给出两种不同形式的单例:第一种形式:饿汉式单例public class Singleton { private Singleton(){} private static Singleton instance = new Singleton(); pu...

2019-09-07 15:04:42 111

原创 常用设计模式(面试)

Singleton(单例模式)一句话总结:一个类在Java虚拟机中只有一个对象,并提供一个全局访问点。生活中例子:太阳、月亮、国家主席等。解决什么问题:对象的唯一性,性能浪费太多。项目里面怎么用:数据库连接对象,属性配置文件的读取对象。模式结构:分为饿汉式和懒汉式(如果考虑性能问题的话,就使用懒汉式,因为懒汉式是在方法里面进行初始化的),构造器私有化,对外提供方法加同步关键...

2019-09-07 14:33:41 115

原创 java中exception和error的粗略总结

首先,放一张图在这:在java的语言体系中,常见的异常处理有error和exception,其中Error和Exception都继承了Throwable类,也就是都可以被抛出从概念角度解析Java的异常处理机制➢Error :程序无法处理的系统错误,编译器不做检查➢Exception :程序可以处理的异常,捕获后可能恢复➢总结:前者是程序无法处理的错误,后者是可以处理的异常...

2019-09-02 16:25:02 101

原创 synchronized原理及优化,(自旋锁,锁消除,锁粗化,偏向锁,轻量级锁)

理解Java对象头与Monitor在JVM中,对象在内存中的布局分为三块区域:对象头、实例数据和对齐填充。如下: 实例变量:存放类的属性数据信息,包括父类的属性信息,如果是数组的实例部分还包括数组的长度,这部分内存按4字节对齐。 填充数据:由于虚拟机要求对象起始地址必须是8字节的整数倍。填充数据不是必须存在的,仅仅是为了字节对齐。 而对于顶部,则...

2019-09-02 10:22:10 2685 1

原创 java垃圾回收

1、对象被判定为垃圾的标准:在程序中不再被引用的对象,我们就认为这个对象已经成为了垃圾。2、标记垃圾的算法判断对象是否为垃圾一般有两种方式:引用计数:每个对象有一个引用计数属性,新增一个引用时计数加1,引用释放时计数减1,计数为0时可以把此对象当做垃圾回收。此方法简单,无法解决对象相互循环引用的问题。可达性分析(Reachability Analysis):从GC Roots开...

2019-09-01 20:01:18 232

原创 JVM 三大性能调优参数-Xms -Xmx -Xss

-Xss:规定了每个线程虚拟机栈的大小。一般情况下256K是足够了。影响了此进程中并发线程数大小。-Xms:初始的Heap堆的大小。-Xmx:最大Heap堆的大小。在很多情况下,-Xms不和-Xmx设置成一样的。如果这么设置,当Heap不够用时,会发生内存抖动,影响程序运行稳定性。...

2019-08-31 21:40:43 235

原创 不同JDK版本之间的intern()方法的区别-JDK6 VS JDK6+

String s = new Stirng(“a”);s.intern();JDK6:当调用intern()方法时,如果字符串常量池先前已创建出该字符串对象,则返回池中的该字符串的引用。否则,将此字符串对象添加到字符串常量池中,并且返回该字符串的引用。JDK6+:当调用intern()方法时,如果字符串常量池先前已创建出该字符串对象,则返回池中的该字符串的引用。否则,如果该字符串对...

2019-08-31 21:13:49 285

转载 Java方法区和永久代

目前有三大Java虚拟机:HotSpot,oracle JRockit,IBM J9。JRockit是oracle发明的,用于其WebLogic服务器,IBM JVM是IBM发明的用于其Websphere服务器(所以在某行开发的时候,他们用的是IBM的JDK,因为他们使用的IBM的应用程序服务器Websphere,使用其他JDK可能存在兼容性问题)。JRockit和J9不存在永久代这...

2019-08-31 20:27:36 1377

原创 java中的内存模型

根据 JVM 规范,JVM 内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。其中,程序计数器,虚拟机栈,本地方法栈为线程私有的,而方法取和堆却是所有线程共享的。1、虚拟机栈:每个线程有一个私有的栈,随着线程的创建而创建。栈里面存着的是一种叫“栈帧”的东西,每个方法会创建一个栈帧,栈帧中存放了局部变量表(基本数据类型和对象引用)、操作数栈、方法出口等信息。栈的大小可以...

2019-08-31 19:59:48 144

原创 十大经典排序算法的java实现以及原理讲解

首先,这篇博客的来源是因为我在学习排序算法的时候,看到了一位大神写的十大经典排序算法,写的真的很不错,可是遗憾的是没有java版本实现,所以我按照每个排序来写了一个java版本实现,如有错误,欢迎指正。所以说,学习这篇文章时,建议和十大经典排序算法一起看。1、冒泡排序package cn.yqh.interview.sort;/** * @author 袁 * @cre...

2019-08-29 16:01:03 2008 2

原创 HashMap是如何实现的(底层原理)以及面试 常见问题

一、HashMap底层原理简述HashMap是Java开发过程中使用最多的集合之一,其中的put(key,value)和get(key)方法,是我们在使用HashMap时最常使用的方法,但是底层的原理我们可能就了解得比较少了,或许你知道HashMap是使用hash算法,然后基于数组+链表+红黑树来实现的,或许还知道HashMap内部数组的初始长度为16,并且还能自动扩容.今...

2019-08-26 16:17:48 1401

原创 面试必问CAS,你懂了吗?

在我的另一篇文章中,我对CAS的原理,优缺点,适用场景进行了分析,可以参见这一篇文章乐观锁实现之CAS,在这篇文章中,我简要的讲一下CAS操作在我们多线程编程中怎么使用,以及为什么要用:话不多说,直接上代码(Talk is cheap. Show me the code)package cn.yqh.interview;import java.util.concurrent.Coun...

2019-08-24 14:31:02 416

原创 浅谈jdk中javap工具的使用

今天在探究多线程的时候,想验证一下count++;(int count;)是不是一个原子操作,后来看了别人的解释才发现可以用javap来进项查看:那么,一、首先我们得了解什么是javap,它可以用来干啥子?大多数Java程序员知道他们的程序不是编译成本机代码的。实际上,程序被编译成中间字节代码,由Java虚拟机来解释执行。然而,很少程序员注意一下字节代码,因为他们使用的工具不鼓励他们这...

2019-08-24 13:44:10 785 1

原创 java多线程编程之CountDownLatch类的使用

一、CountDownLatch介绍CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程执行完后再执行。例如,应用程序的主线程希望在负责启动框架服务的线程已经启动所有框架服务之后执行。用给定的计数 初始化 CountDownLatch。由于调用了 countDown() 方法,所以在当前计数到达零之前,await 方法会一直受阻塞。之后,会释放所有等待的线程...

2019-08-24 13:02:01 150

原创 个人常用,idea快捷键记录

ctrl+alt+u :显示类继承树,还可以显示类中的方法,属性,变量等ctrl+f12:显示类中的方法,相当于打开structure窗口与一眼ctrl+shift+enter:自动补全末尾分号,如果有分号则向下产生一行,ctrl+enter:向上产生一行alt+回车:导入包,自动修正Ctrl+N 查找类Ctrl+Shift+N 查找文件Ctrl+Alt+L 格式化代码...

2019-08-24 09:52:45 107

原创 ThreadPoolExecutor线程池submit() 和 excute()区别,顺便带上Runnable和Callable

1、 实现Runnable接口和Callable接口的区别如果想让线程池执行任务的话需要实现的Runnable接口或Callable接口。 Runnable接口或Callable接口实现类都可 以被ThreadPoolExecutor或ScheduledThreadPoolExecutor执行。两者的区别一:在于 Runnable 接口不会返回结果但 是 Callable 接口可以返回...

2019-08-23 20:53:32 2113

转载 关于三次握手与四次挥手面试官想考我们什么?

在面试中,三次握手和四次挥手可以说是问的最频繁的一个知识点了,我相信大家也都看过很多关于三次握手与四次挥手的文章,今天的这篇文章,重点是围绕着面试,我们应该掌握哪些比较重要的点,哪些是比较被面试官给问到的,我觉得如果你能把我下面列举的一些点都记住、理解,我想就差不多了。三次握手当面试官问你为什么需要有三次握手、三次握手的作用、讲讲三次三次握手的时候,我想很多人会这样回答:首先很多人会先...

2019-08-22 16:30:13 91

转载 用AtomicStampedReference解决ABA问题

在运用CAS做Lock-Free操作中有一个经典的ABA问题:线程1准备用CAS将变量的值由A替换为B,在此之前,线程2将变量的值由A替换为C,又由C替换为A,然后线程1执行CAS时发现变量的值仍然为A,所以CAS成功。但实际上这时的现场已经和最初不同了,尽管CAS成功,但可能存在潜藏的问题,例如下面的例子:现有一个用单向链表实现的堆栈,栈顶为A,这时线程T1已经知道A.next为B,...

2019-08-22 12:52:20 134

eclipse豆沙护眼色配色

这是eclipse豆沙护眼色的文件,里面的字体背景说明的都配置好了,可以直接导入eclipse便可以使用

2019-04-04

搜狗拼音截图提取版

搜狗拼音截图提取版,最新版的搜狗拼音截图工具,外观完美且好用,下载解压之后,对screencapture.exe创建一个快捷方式,并且把这个快捷方式放在左面,然后右击快捷方式,选择属性,快捷方式,快捷键,然后输入你想设置的快捷方式就好了,然后就可以依据你设置的热键来随时启动这个快捷方式了

2019-03-29

截屏 qq截屏提取版

好用的一个截屏软件,是从qq拼音里面分离出来的,直接下载至自己的电脑里面,然后发送快捷方式到桌面,然后给此快捷方式添加快捷键,就可以使用快捷键截图了,避免了使用QQ自带的截图还要先打开qq的麻烦。

2018-12-19

趣谈网络协议,从零开始学架构

两套资源,百度云盘链接,永久有效,欢迎下载

2018-12-14

javaweb图书管理系统

这个是用java写的一个web项目,其主要功能是实现了对图书馆图书的管理,其中主要包含以下4个模块,读者管理,图书管理,借阅管理,用户登录和用户管理,权限管理,整个项目用的是ssh完成的,三层结构,由于本人也是一个初学者,并且由于时间有限,所以并没有花太多时间去处理细节,但是大部分的细节都处理的差不多,所以,如果你有兴趣的话,可以和我交流交流

2018-12-03

ssh实现购物车的功能

此项目是一个购物页面,里面的web页面为个人自己写的,个人觉得美观上来说还是凑活,主要实现了从数据库读取商品到主页进行展示,还有登录注册功能以及购物车功能,全部是基于MySQL数据库,如果你想用其他的数据库,直接修改src下的db.properties文件和application.xml文件的部分之处即可,欢迎大家下载交流.如有疑问,可以留言.我会给你回复

2018-11-26

整合ssh24框架

整合了struts2+hibernate+spring,已经完成了整个框架的搭建,大家可以直接拿去用,加自己想要的代码,避免自己搭框架的过程

2018-11-26

极客时间趣谈网络协议刘超

专栏模块 专栏共40期,分为3大模块。 底层网络协议知识详解:将用最通俗的语言,自下而上讲解最重要、最常用以及最陌生的网络协议概念,帮你构建最精准的网络协议知识框架。 网络协议在热门]领域的应用:将讲述网络协议在当下热门]领域的应用,比如云计算、容器和微服务,并手把手带你使用新技术,进一步加深对网络协议概念的理解。 网络协议知识串联:将用“双十-”的故事串起网络协议的核心概念和基础知识;借助虚拟化和容器技术,搭建一个实验环境,持续更新你的知识库。

2018-11-25

firefox48.0版本

开发web应用的都知道Firefox比较好用,方便调试,而且按个firebug插件也是非常nice,但是更新后的Firefox不支持firebug,故留下此旧版本的Firefox功大家下载,亲测可用,可以安装firebug

2018-10-05

powerDesign 破解版

此压缩包为powerDesign12.5破解版,内含破解文件和步骤,自己win10亲测可用

2018-09-29

空空如也

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

TA关注的人

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