<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qfchenjunbo的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qfchenjunbo</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qfchenjunbo]]></copyright><item><title><![CDATA[java mysql 数据库备份和还原操作]]></title><link>https://blog.youkuaiyun.com/qfchenjunbo/article/details/122124664</link><guid>https://blog.youkuaiyun.com/qfchenjunbo/article/details/122124664</guid><author>qfchenjunbo</author><pubDate>Fri, 24 Dec 2021 11:42:04 +0800</pubDate><description><![CDATA[扫VX 领Java资料，前端，测试，python等等资料都有




package com.itenp.gen.action;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWri..]]></description><category></category></item><item><title><![CDATA[JDK环境配置&IDEA新建一个JAVA项目]]></title><link>https://blog.youkuaiyun.com/qfchenjunbo/article/details/122124642</link><guid>https://blog.youkuaiyun.com/qfchenjunbo/article/details/122124642</guid><author>qfchenjunbo</author><pubDate>Fri, 24 Dec 2021 11:40:54 +0800</pubDate><description><![CDATA[一、JDK环境配置

1.下载安装包

下载地址&lt;www.oracle.com&gt;

2.下载好安装包后，双击进入安装向导

3.点击“下一步”（可修改默认安装路径）

4.安装完成后点击“关闭”

5.坏境配置

（1）打开“此电脑”——&gt;右键——&gt;“属性”



（2）进入“高级系统设置”



（3）点击“环境变量”



（4）“系统变量”——&gt;“新建”

扫VX 领Java资料，前端，测试，python等等资料都有





（新建：变量名“JAVA_HOME”；变..]]></description><category></category></item><item><title><![CDATA[Java 创建 PDF 文件包的两种方法]]></title><link>https://blog.youkuaiyun.com/qfchenjunbo/article/details/122124598</link><guid>https://blog.youkuaiyun.com/qfchenjunbo/article/details/122124598</guid><author>qfchenjunbo</author><pubDate>Fri, 24 Dec 2021 11:39:29 +0800</pubDate><description><![CDATA[1.概述

PDF文件包可方便在仅打开一个窗口的情况下阅读多个文档，通过将多个PDF文档或其他非PDF文档封装在一起，打开文件包后可以随意切换查看文件包中的文档，在需要编辑更改的情况，也可以打开文本包中的文档进行编辑。下面，通过Java程序来演示如何来创建PDF文件包。这里分以下两种情况来添加，方法类似。

（1）创建文件包，添加文件夹（父/子文件夹），并添加文档到文件包

（2）创建文件包，添加多个文档到文件包

2.本次运行环境

代码编译环境：IntelliJ IDEA
	JDK版本：1.8.0...]]></description><category></category></item><item><title><![CDATA[JVM，我就不信学不会你了]]></title><link>https://blog.youkuaiyun.com/qfchenjunbo/article/details/122124582</link><guid>https://blog.youkuaiyun.com/qfchenjunbo/article/details/122124582</guid><author>qfchenjunbo</author><pubDate>Fri, 24 Dec 2021 11:38:34 +0800</pubDate><description><![CDATA[JVM 对 Java 有多重要，对程序员面试有多重要，这些不用多说。

如果你还没意识到学 JVM 的必要性，或者不知道怎么学 JVM，那么看完这篇文章，你就能知道答案了。

曾经的我很不屑于学 JVM，但是后来发现不学不行。这就像和媳妇吵架之后我不想道歉一样，不道歉那是不可能的，道歉是早晚的事儿，逃不掉。

后来我明白了：

认怂越晚，结局越惨。

但是我学的时候才知道：JVM，你太过分了，太难学了！

我的学习过程可以说非常坎坷，不过经历坎坷之后，我倒是发现学 JVM 的门道很多。

以我的经验加上和同]]></description><category></category></item><item><title><![CDATA[Java 设置PDF跨页表格重复显示表头行]]></title><link>https://blog.youkuaiyun.com/qfchenjunbo/article/details/122124548</link><guid>https://blog.youkuaiyun.com/qfchenjunbo/article/details/122124548</guid><author>qfchenjunbo</author><pubDate>Fri, 24 Dec 2021 11:37:22 +0800</pubDate><description><![CDATA[在创建表格时，如果表格内容出现跨页显示的时候，默认情况下该表格的表头不会在下一页显示，在阅读体验上不是很好。下面分享一个方法如何在表格跨页是显示表格的表头内容，这里只需要简单使用方法 grid.setRepeatHeader(true);即可。具体参考如下方法步骤。

1.导入Jar包

这里导入的是Free Spire.PDF for Java的jar包，下载后，解压文件，在Java程序中将解压路径下lib文件中的spire.pdf.jar导入Java程序。



导入结果：





2.Java代..]]></description><category></category></item><item><title><![CDATA[IntelliJ IDEA常用设置，常用快捷键以及常用插件]]></title><link>https://blog.youkuaiyun.com/qfchenjunbo/article/details/122124484</link><guid>https://blog.youkuaiyun.com/qfchenjunbo/article/details/122124484</guid><author>qfchenjunbo</author><pubDate>Fri, 24 Dec 2021 11:35:25 +0800</pubDate><description><![CDATA[简单介绍

IDEA 全称 IntelliJ IDEA，是java语言开发的集成环境，IntelliJ在业界被公认为最好的java开发工具之一。

Intellij IDEA 最突出的功能自然是调试（Debug)，可以对Java代码，JavaScript，JQuery，Ajax等技术进行调试。

下面介绍 IntelliJ IDEA的一些常用设置，快捷键和茶馆用插件推荐，让你快速上手！

一 基本设置

1.设置IDEA背景图片

file-&gt;settings-&gt;keymap，也可以ctrl+a]]></description><category></category></item><item><title><![CDATA[JavaWeb中的Filter过滤器和Listener监听器]]></title><link>https://blog.youkuaiyun.com/qfchenjunbo/article/details/122124449</link><guid>https://blog.youkuaiyun.com/qfchenjunbo/article/details/122124449</guid><author>qfchenjunbo</author><pubDate>Fri, 24 Dec 2021 11:34:05 +0800</pubDate><description><![CDATA[一 Filter

1 Filter的概念

Filter：一个实现了特殊接口(Filter)的Java类. 实现对请求资源(jsp,servlet,html,)的过滤的功能.过滤器是一个运行在服务器的程序, 优先于请求资源(Servlet或者jsp,html)之前执行. 过滤器是javaweb技术中最为实用的技术之一

2 Filter的作用

Filter的作用是对目标资源(Servlet,jsp)进行过滤，其应用场景有: 登录权限检查,解决网站乱码,过滤敏感字符等等

3 Filter的入门案例
..]]></description><category></category></item><item><title><![CDATA[java类下载壁纸练习小代码]]></title><link>https://blog.youkuaiyun.com/qfchenjunbo/article/details/122124399</link><guid>https://blog.youkuaiyun.com/qfchenjunbo/article/details/122124399</guid><author>qfchenjunbo</author><pubDate>Fri, 24 Dec 2021 11:33:10 +0800</pubDate><description><![CDATA[public static String test65(int start) {
        BufferedReader reader =  null;
        StringBuffer sb = new StringBuffer();
        String initUrl = "http://bz.hzwdd.cn/api.php?cid=6&amp;start="+start+"&amp;count=10";
        URL url = URLUtil.url(initU.]]></description><category></category></item><item><title><![CDATA[正则引擎的几种分类]]></title><link>https://blog.youkuaiyun.com/qfchenjunbo/article/details/122112850</link><guid>https://blog.youkuaiyun.com/qfchenjunbo/article/details/122112850</guid><author>qfchenjunbo</author><pubDate>Thu, 23 Dec 2021 17:33:24 +0800</pubDate><description><![CDATA[正则表达式引擎是正则表达式匹配算法的基础。其有多种不同的实现，但大多数都是基于Henry Spencer的NFA引擎。

正则引擎有两个大分类，DFA和NFA，像Perl、Java、.Net、PHP、Python、Ruby……等大多是工具都是用了NFA引擎。少数广泛被使用的工具如mawk使用了POSIX NFA引擎（NFA的一种变种）。以高效著称的工具采用了更为高效的DFA引擎。诸如GNU awk，GNU egrep和Tcl之类的一些工具结合了NFA / DFA两种引擎，将两者的优点结合在一起。

基于不同]]></description><category></category></item><item><title><![CDATA[JDBC基本操作]]></title><link>https://blog.youkuaiyun.com/qfchenjunbo/article/details/122112828</link><guid>https://blog.youkuaiyun.com/qfchenjunbo/article/details/122112828</guid><author>qfchenjunbo</author><pubDate>Thu, 23 Dec 2021 17:32:42 +0800</pubDate><description><![CDATA[JDBC基本操作


create table user(
    id int primary key auto_increment,
    name varchar(50)
    ) ENGINE = InnoDB DEFAULT CHARSET = utf8;


JDBC概念

JDBC是一个独立于特定数据库管理系统、通用的SQL数据库存取和操作的公共接口，定义了用来访问数据库的标准的Java类库

连接步骤


	加载驱动
	
	
	进行数据库连接
	

// 驱动
private stati]]></description><category></category></item><item><title><![CDATA[直观讲解一下 RPC 调用和 HTTP 调用的区别]]></title><link>https://blog.youkuaiyun.com/qfchenjunbo/article/details/122112805</link><guid>https://blog.youkuaiyun.com/qfchenjunbo/article/details/122112805</guid><author>qfchenjunbo</author><pubDate>Thu, 23 Dec 2021 17:31:43 +0800</pubDate><description><![CDATA[OSI网络七层模型

在说RPC和HTTP的区别之前，我觉的有必要了解一下OSI的七层网络结构模型（虽然实际应用中基本上都是五层），它可以分为以下几层：（从上到下）


	第一层：应用层。定义了用于在网络中进行通信和传输数据的接口；
	
	
	第二层：表示层。定义不同的系统中数据的传输格式，编码和解码规范等；
	
	
	第三层：会话层。管理用户的会话，控制用户间逻辑连接的建立和中断；
	
	
	第四层：传输层。管理着网络中的端到端的数据传输；
	
	
	第五层：网络层。定义网络设备间如何传输数据；
	
	
]]></description><category></category></item><item><title><![CDATA[Java 设置Excel条件格式（高亮条件值、应用单元格值/公式/数据条等类型）]]></title><link>https://blog.youkuaiyun.com/qfchenjunbo/article/details/122112760</link><guid>https://blog.youkuaiyun.com/qfchenjunbo/article/details/122112760</guid><author>qfchenjunbo</author><pubDate>Thu, 23 Dec 2021 17:30:02 +0800</pubDate><description><![CDATA[概述

在Excel中，应用条件格式功能可以在很大程度上改进表格的设计和可读性，用户可以指定单个或者多个单元格区域应用一种或者多种条件格式。本篇文章，将通过Java程序示例介绍条件格式的设置方法，设置条件格式时，因不同设置需要，本文分别从以下示例要点来介绍：

示例1：

1. 应用条件格式用于高亮重复、唯一数值

2. 应用条件格式用于高亮峰值（最高值、最低值）

3. 应用条件格式用于高亮低于或高于平均值的数值

示例2：

1. 应用单元格值类型的条件格式

2. 应用公式类型的条件格式

3. 应用]]></description><category></category></item><item><title><![CDATA[JAVA Thread Dump 文件分析]]></title><link>https://blog.youkuaiyun.com/qfchenjunbo/article/details/122112734</link><guid>https://blog.youkuaiyun.com/qfchenjunbo/article/details/122112734</guid><author>qfchenjunbo</author><pubDate>Thu, 23 Dec 2021 17:29:15 +0800</pubDate><description><![CDATA[Thread Dump介绍

Thread Dump是非常有用的诊断Java应用问题的工具。每一个Java虚拟机都有及时生成所有线程在某一点状态的thread-dump的能力，虽然各个 Java虚拟机打印的thread dump略有不同，但是大多都提供了每个线程的所有信息，例如: 线程状态、线程 Id、本机 Id、线程名称、堆栈跟踪、优先级。

Thread Dump特点


	能在各种操作系统下使用
	
	
	能在各种Java应用服务器下使用
	
	
	可以在生产环境下使用而不影响系统的性能
	
	
	可]]></description><category></category></item><item><title><![CDATA[Java 将PDF转为线性PDF]]></title><link>https://blog.youkuaiyun.com/qfchenjunbo/article/details/122112693</link><guid>https://blog.youkuaiyun.com/qfchenjunbo/article/details/122112693</guid><author>qfchenjunbo</author><pubDate>Thu, 23 Dec 2021 17:27:47 +0800</pubDate><description><![CDATA[线性化PDF文件是PDF文件的一种特殊格式，可以通过Internet更快地进行查看。线性化的PDF，在页面数量很多的情况下，更能突出表现出快速浏览的优势。下面是通过后端Java程序实现将PDF文件转为线性化PDF的方法。

程序环境

IntelliJ IDEA
	Spire.PDF for Java4.12.1
方法步骤

步骤1.导入PDF Jar包。可通过以下两种方法实现：

方法1：通过Maven仓库安装。在pom.xml中配置如下：




&lt;repositories&gt;
     ..]]></description><category></category></item><item><title><![CDATA[Redis使用场景]]></title><link>https://blog.youkuaiyun.com/qfchenjunbo/article/details/122112677</link><guid>https://blog.youkuaiyun.com/qfchenjunbo/article/details/122112677</guid><author>qfchenjunbo</author><pubDate>Thu, 23 Dec 2021 17:26:52 +0800</pubDate><description><![CDATA[1、计数器

可以对 String 进行自增自减运算，从而实现计数器功能。

Redis 这种内存型数据库的读写性能非常高，很适合存储频繁读写的计数量。

2、缓存

将热点数据放到内存中，设置内存的最大使用量以及淘汰策略来保证缓存的命中率。

3、会话缓存

可以使用 Redis 来统一存储多台应用服务器的会话信息。

当应用服务器不再存储用户的会话信息，也就不再具有状态，一个用户可以请求任意一个应用服务器，从而更容易实现高可用性以及可伸缩性。

4、全页缓存（FPC）

除基本的会话token之外，Re]]></description><category></category></item><item><title><![CDATA[Redis的基本数据类型]]></title><link>https://blog.youkuaiyun.com/qfchenjunbo/article/details/122112653</link><guid>https://blog.youkuaiyun.com/qfchenjunbo/article/details/122112653</guid><author>qfchenjunbo</author><pubDate>Thu, 23 Dec 2021 17:26:14 +0800</pubDate><description><![CDATA[1、redis基础

1）redis 中的数据类型有哪些？

Redis 有 5 种基础数据结构，分别为：string (字符串)、list (列表)、set (集合)、hash (哈希) 和 zset (有序集合)。

Redis 的列表相当于 Java 语言里面的 LinkedList，注意它是链表而不是数组。这意味着 list 的插入和删除操作非常快，时间复杂度为 O(1)，但是索引定位很慢，时间复杂度为 O(n)，这点让人非常意外。 当列表弹出了最后一个元素之后，该数据结构自动被删除，内存被回收。
]]></description><category></category></item><item><title><![CDATA[Java设计模式之建造者模式]]></title><link>https://blog.youkuaiyun.com/qfchenjunbo/article/details/122082440</link><guid>https://blog.youkuaiyun.com/qfchenjunbo/article/details/122082440</guid><author>qfchenjunbo</author><pubDate>Wed, 22 Dec 2021 11:53:23 +0800</pubDate><description><![CDATA[建造者模式：使用多个简单的对象一步步构建成一个复杂的对象，它提供了一种创建对象的最佳方式。

建造者模式的使用目的：将一个复杂对象的构建与其表示相分离，使得同样的构建过程可以创建不同的表示。

优点：建造者独立，易拓展；便于控制细节风险。

示例场景

在游戏开发中，英雄Hero表示一个人物，他们以不同职业Occupation的形式来展现，比如可以转职成战士或者射手，战士的装备是长剑、重甲，射手的装备是弓、皮甲。

让我们使用建造者模式来创建不同职业的英雄，这个过程中要注意区分和抽象工厂模式的区别。

创建]]></description><category></category></item><item><title><![CDATA[Log4j 2 杀不死 Java]]></title><link>https://blog.youkuaiyun.com/qfchenjunbo/article/details/122082415</link><guid>https://blog.youkuaiyun.com/qfchenjunbo/article/details/122082415</guid><author>qfchenjunbo</author><pubDate>Wed, 22 Dec 2021 11:52:02 +0800</pubDate><description><![CDATA[Java 作为顶级编程语言之一，已经在企业级软件开发领域活跃 25 年了。有人不断宣传 Java 已死，同时也有人坚称 Java 活得好好的。最近，又有报道称 log4j 2 漏洞将再次“杀死” Java。我们曾开玩笑说，Java 博物馆就好像是一个墓园，记录了每一次“死亡”的经过。


上周，技术圈被 log4j 2 漏洞掀起巨浪，各大安全公司纷纷发文介绍该漏洞的危害，并给出了各种临时解决方案。还有一些博主也发表文章教我们如何找到易受攻击的地方，并采取相应的防御措施。还有大量帖子跟着起哄，讨论如何采用一.]]></description><category></category></item><item><title><![CDATA[MVCC 水略深，但是弄懂了真的好爽]]></title><link>https://blog.youkuaiyun.com/qfchenjunbo/article/details/122082397</link><guid>https://blog.youkuaiyun.com/qfchenjunbo/article/details/122082397</guid><author>qfchenjunbo</author><pubDate>Wed, 22 Dec 2021 11:50:55 +0800</pubDate><description><![CDATA[@[toc] 前面写了一篇文章和大家分享了 MySQL 中查询表记录数的问题，里边涉及到一个知识点 MVCC 多版本并发控制。这个问题不搞懂，总感觉缺点什么。因此今天我想花点时间和大家聊一聊 MVCC。

要搞懂 MVCC，最好是要先懂 InnoDB 中事务的隔离级别，不然单纯看概念很难弄明白 MVCC。

1. 隔离级别

1.1 理论

MySQL 中事务的隔离级别一共分为四种，分别如下：

序列化（SERIALIZABLE）
	可重复读（REPEATABLE READ）
	提交读（READ COMMI]]></description><category></category></item><item><title><![CDATA[处理异常的标准姿势一定要学会]]></title><link>https://blog.youkuaiyun.com/qfchenjunbo/article/details/122082384</link><guid>https://blog.youkuaiyun.com/qfchenjunbo/article/details/122082384</guid><author>qfchenjunbo</author><pubDate>Wed, 22 Dec 2021 11:49:57 +0800</pubDate><description><![CDATA[前言

在Java中应该如何处理异常，这个话题看似简单，不就是try...catch嘛，但是往往BUG更容易出现在一些简单地、我们更容易忽略的地方。

大多数成熟的开发团队对于如何进行异常处理都有一套规范和最佳实践。

本期内容我整理了一些在我的团队正在使用的9个最佳实践，希望能让你对异常处理有所帮助。

1、使用finally或try...with...resource关闭资源

如果我们在try代码块中需要使用到一些资源，比如InputStream，在使用完之后我们需要将资源关闭。

这是一个错误示例
]]></description><category></category></item></channel></rss>