自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

转载 2020-11-15

Feign实现微服务间文件下载(Finchley版本)在使用Feign做服务间调用的时候,当下载大的文件会出现堆栈溢出的情况。另外,文件管理服务(服务提供者)文件下载接口无返回值,是通过HttpServletRespoonse传输的流数据来响应,那么服务消费者该如何接受下载的数据呢?一. 示例介绍服务名 端口号 角色 feign_upload_first 8100 feign服务提供者 feign_upload_second 8101 feign服务消

2020-11-15 11:10:58 125

转载 IntelliJ IDEA 调试技巧

IntelliJ IDEA 调试技巧,比 Eclipse 强太多了!一、条件断点循环中经常用到这个技巧,比如:遍历1个大List的过程中,想让断点停在某个特定值。参考上图,在断点的位置,右击断点旁边的小红点,会出来一个界面,在Condition这里填入断点条件即可,这样调试时,就会自动停在i=10的位置注 意文末有:3625页互联网大厂面试题二、回到"上一步"该技巧最适合特别复杂的方法套方法的场景,好不容易跑起来,一不小心手一抖,断点过去了,想回过头看看刚才的变量值.

2020-07-06 19:48:00 168

原创 Java常见的几种内存溢出及解决方法

Java常见的几种内存溢出及解决方法【情况一】:java.lang.OutOfMemoryError:Javaheapspace:这种是java堆内存不够,一个原因是真不够(如递归的层数太多等),另一个原因是程序中有死循环;如果是java堆内存不够的话,可以通过调整JVM下面的配置来解决:-Xms3062m-Xmx3062m【情况二】java.lang.OutOfMemoryError...

2020-04-05 21:06:41 443

转载 mysql修改操作之存在则修改,不存在则添加

一. 起因事情的起因是这样的,在练手项目的时候,表的一个关联字段并没有建立外键关系,只是名义上的外键关系,而在修改数据的时候,考虑到安全性的问题,确保运行不会报异常的话,每次在做修改字段的时候,都需要先查寻该字段是否存在,若不存在则需要主动添加。如以下的 userId,是并没有外键的!表大体结构图二. 解决方式如果每次都先查询再修改的话,是相当影响...

2019-12-03 20:26:11 1039

转载 Java 性能优化:教你提高代码运行的效率(转)

代码优化细节(1)尽量指定类、方法的final修饰符带有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子,例如java.lang.String,整个类都是final的。为类指定final修饰符可以让类不可以被继承,为方法指定final修饰符可以让方法不可以被重写。如果指定了一个类为final,则该类所有的方法都是final的。Java编译器会寻找机会内联...

2019-11-25 14:49:48 303

转载 Git版本回退最佳方式

使用git开发的过程中,存在误提交的时候怎么办呢?不用慌张,强大的git提供了两种版本回退的方式,可以让你恢复提交之前的内容:方式一:reset(不推荐)通过reset的方式,把head指针指向之前的某次提交,reset之后,后面的版本就找不到了操作步骤如下:1、在gitlab上找到要恢复的版本号,如:139dcfaa558e3276b30b6b2e5cbbb9c00bbd...

2019-11-15 11:26:26 120

转载 mongodb安装

简介MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。Packages包说明Mongo...

2019-09-26 12:36:46 96

转载 idea中git回退远程仓库版本

工作中遇到,代码已提交并已提交到远程仓库,现需要回退到之前版本,记录如下:记录当前版本的版本号和需要回退到版本的版本号。current version:85e7f32dfe421c5892a4e2f38e7b542d1eacdf8cold version:4d8757990c066212deab77d8fe56a95897a91a08点击ResetHEAD,如下:...

2019-05-08 13:42:21 867 2

转载 《深入理解java虚拟机》学习笔记8——Tomcat类加载器体系结构

Tomcat 等主流Web服务器为了实现下面的基本功能,都实现了不止一个自定义的类加载器:(1).部署在同一个服务器上的两个web应用程序所使用的java类库可以相互隔离。(2).部署在同一个服务器上的两个web应用程序所使用的java类库可以相互共享。(3).许多Web服务器本身使用java语言实现,因此服务器所使用的类库应与应用程序的类库相互独立。(4).支持JSP应用的Web

2017-10-24 21:16:10 305

转载 《深入理解java虚拟机》学习笔记7——Java虚拟机类生命周期

C/C++等纯编译语言从源码到最终执行一般要经历:编译、连接和运行三个阶段,连接是在编译期间完成,而Java在编译期间仅仅是将源码编译为Java虚拟机可以识别的字节码Class类文件,Java虚拟机对中Class类文件的加载、连接都在运行时执行,虽然类加载和连接会占用程序的执行时间增加性能开销,但是却可以为java语言带来高度灵活性和扩展性,java的针对接口编程和类加载器机制实现的OSGi以及热

2017-10-24 21:15:12 339

转载 《深入理解java虚拟机》学习笔记6——类加载机制

类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)和卸载(Unloading)7 个阶段。其中验证、准备、解析 3 个部分统称为链接(Linking)。这 7 个阶段的发生顺序如下图:加载、

2017-10-24 21:11:06 282

转载 《深入理解java虚拟机》学习笔记5——Java Class类文件结构

Java语言从诞生之时就宣称一次编写,到处运行的跨平台特性,其实现原理是源码文件并没有直接编译成机器指令,而是编译成Java虚拟机可以识别和运行的字节码文件(Class类文件,*.class),字节码文件是一种平台无关的中间编译结果,字节码文件由java虚拟机读取,解析和执行,java虚拟机屏蔽了不同操作系统和硬件平台的差异性。如今的java虚拟机已经称为一种通用平台,不但能够运行java语言

2017-10-24 20:58:57 273

转载 《深入理解java虚拟机》学习笔记4——Java虚拟机垃圾收集器

Java堆内存被划分为新生代和年老代两部分,新生代主要使用复制和标记-清除垃圾回收算法,年老代主要使用标记-整理垃圾回收算法,因此java虚拟中针对新生代和年老代分别提供了多种不同的垃圾收集器,JDK1.6中Sun HotSpot虚拟机的垃圾收集器如下:图中如果两个垃圾收集器直接有连线,则表明这两个垃圾收集器可以搭配使用。(1).Serial垃圾收集器:Serial是最基本、历

2017-10-24 20:55:59 239

转载 《深入理解java虚拟机》学习笔记3——垃圾回收算法

Java虚拟机的内存区域中,程序计数器、虚拟机栈和本地方法栈三个区域是线程私有的,随线程生而生,随线程灭而灭;栈中的栈帧随着方法的进入和退出而进行入栈和出栈操作,每个栈帧中分配多少内存基本上是在类结构确定下来时就已知的,因此这三个区域的内存分配和回收都具有确定性。垃圾回收重点关注的是堆和方法区部分的内存。常用的垃圾回收算法有:(1).引用计数算法:给对象中添加一个引用计数器,每当有一个

2017-10-24 20:53:30 254

转载 《深入理解java虚拟机》学习笔记2——Java内存溢出实例

通过简单的小例子程序,演示java虚拟机各部分内存溢出情况:(1).java堆溢出:Java堆用于存储实例对象,只要不断创建对象,并且保证GC Roots到对象之间有引用的可达,避免垃圾收集器回收实例对象,就会在对象数量达到堆最大容量时产生OutOfMemoryError异常。想要方便快速地产生堆溢出,要使用如下java虚拟机参数:-Xms10m(最小堆内存为10MB),-Xmx10m

2017-10-24 20:49:02 202

转载 《深入理解java虚拟机》学习笔记1——Java内存结构

java虚拟机规范规定的java虚拟机内存其实就是java虚拟机运行时数据区,其架构如下:其中方法区和堆是由所有线程共享的数据区。Java虚拟机栈,本地方法栈和程序计数器是线程隔离的数据区。(1).程序计数器:是一块较小的内存空间,其作用可以看作是当前线程所执行的字节码的行号指示器,字节码解析器工作时通过改变程序计数器的值来选取下一条需要执行的字节码指令。程序的分支、循环、

2017-10-24 20:36:12 191

转载 JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式)

在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的。但是在一些情况下, new操作符直接生成对象会带来一些问题。举例来说, 许多类型对象的创造需要一系列的步骤: 你可能需要计算或取得对象的初始设置; 选择生成哪个子对象实例; 或在生成你需要的对象之前必须先生成一些辅助功能的对象。 在这些情况,新对象的建立就是一个 “过程”,不仅是一个操作,像一部

2017-06-26 19:42:35 343

转载 SpringMVC 实现注解式权限验证

一.首先介绍一下action拦截器:HandlerInterceptor是Spring MVC为我们提供的拦截器接口,来让我们实现自己的处理逻辑,HandlerInterceptor 的内容如下:public interface HandlerInterceptor { boolean preHandle( HttpServletReques

2017-06-26 19:16:55 532

转载 数据库SQL优化大总结

这篇文章我花费了大量的时间查找资料、修改、排版,希望大家阅读之后,感觉好的话推荐给更多的人,让更多的人看到、纠正以及补充。1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t wher

2017-06-26 17:40:35 249

转载 Apache POI使用详解

1.POI结构与常用类(1)POI介绍    Apache POI是Apache软件基金会的开源项目,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。 .NET的开发人员则可以利用NPOI (POI for .NET) 来存取 Microsoft Office文档的功能。(2)POI结构说明包名称 说明HSSF 提供读写Microsof

2017-06-26 15:30:34 1039 2

转载 SpringMVC与Struts2区别与比较总结

1、Struts2是类级别的拦截, 一个类对应一个request上下文,SpringMVC是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应,所以说从架构本身上SpringMVC就容易实现restful url,而struts2的架构实现起来要费劲,因为Struts2中Action的一个方法可以对应一个url,而其类属性却被所有方法共享,这也就无法用注解或其他

2017-06-26 14:45:23 356

转载 springmvc的工作流程

Spring MVC工作流程图图一图二 Spring工作流程描述      1. 用户向服务器发送请求,请求被Spring 前端控制Servelt DispatcherServlet捕获;      2. DispatcherServlet对请求URL进行解析,得到请求资源标识符(URI)。然后根据

2017-06-26 14:37:59 411

转载 说说struts1与struts2的区别

在Action的实现方面:Struts1要求必须统一扩展自Action类,而Struts2中可以是一个普通的POJO。  线程模型方面:Struts1的Action工作在单例模式,一个Action的实例处理所有的请求。Struts2的Action是一个请求对应一个实例。没有线程安全方面的问题。  Servlet依赖方面:Struts1的Action依赖于Servlet API,比如Action

2017-06-23 23:24:32 350

原创 Oracle 生成流水号 存储过程 订单编号

用存储过程生成流水号是很常用的,这里以生成订单编号的流水号作为示例。(新的一天的流水号从1开始,如:今天的订单编号是CD2013010900014,下一个订单编号将是CD2013010900015;明天的订单编号将从CD2013011000001开始)生成规则:2位前缀+年月日+5位流水号 或者 2位前缀+年月日时分+5位流水号 或者 2位前缀+年月日时分秒+5位流水号。测试订单表(t

2017-06-22 21:04:42 4065

原创 java八大基本数据类型

数据类型 大小 范围 默认值 byte(字节) 8 -128 - 127 0shot(短整型) 16 -32768 - 32768 0int(整型) 32 -2147483648-2147483648  0long(长整型) 64 -9233372036854477808-9233372036854477808 0 float(浮点型) 32 -3.40292347E+38

2017-06-21 11:44:25 313

转载 LINUX中常用操作命令

Linux简介及Ubuntu安装Linux,免费开源,多用户多任务系统。基于Linux有多个版本的衍生。RedHat、Ubuntu、Debianaa安装VMware或VirtualBox虚拟机。具体安装步骤,找百度。再安装Ubuntu。具体安装步骤,找百度。安装完后,可以看到Linux系统的目录结构,见链接http://www.weixuehao.com/archives/492

2017-06-20 10:41:41 341

转载 JavaWeb请求-响应学习笔记

先来看一个流程图: 服务器处理请求的流程:  (1)服务器每次收到请求时,都会为这个请求开辟一个新的线程。  (2)服务器会把客户端的请求数据封装到request对象中,request就是请求数据的载体!  (3)服务器还会创建response对象,这个对象与客户端连接在一起,它可以用来向客户端发送响应。   由流程图可以看出,在JavaWeb的请求与响应中

2017-06-20 10:39:26 352

转载 POI操作Excel常用方法总结

目录(?)[-]一 POI简介二 HSSF概况三 POI EXCEL文档结构类四 EXCEL常用操作方法取得sheet的数目 c-sharp view plaincopyprintwbgetNumberOfSheets   wbgetNumberOfSheets取得一行的有效单元格个数 c-sharp view plaincopyprintrowgetLastCel

2017-06-20 09:46:34 672

转载 java环境变量配置

JDK环境变量配置右键“我的电脑”图标,在弹出菜单中依次选择“属性”-“高级”-“环境变量”。在“环境变量”的“系统变量”选项新建系统变量:JAVA_HOME,值为:D:\Java\jdk(填写你的JDK路径即可)。建一个系统变量:CLASSPATH值为%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

2017-06-19 14:54:24 439

空空如也

空空如也

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

TA关注的人

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