<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Rick的修仙路]]></title><description><![CDATA[修仙...ing]]></description><link>https://blog.youkuaiyun.com/James_JR10</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; James_JR10]]></copyright><item><title><![CDATA[Mybatis批量插入]]></title><link>https://blog.youkuaiyun.com/James_JR10/article/details/115074805</link><guid>https://blog.youkuaiyun.com/James_JR10/article/details/115074805</guid><author>James_JR10</author><pubDate>Mon, 22 Mar 2021 14:55:43 +0800</pubDate><description><![CDATA[三种可用的插入方式：
1、反复执行单条插入语句
2、拼接sql
3、批处理执行
一、反复执行单挑插入语句
&lt;insert id="insert" parameterType="java.util.List"&gt;
    INSERT INTO tb_item VALUES
   ...
&lt;/insert&gt;

反复获取数据库连接，性能低下

二、拼接sql
&lt;insert id="insertByBatch" parameterType="java.util.List"&gt;
 ]]></description><category></category></item><item><title><![CDATA[windows jps不是内部或外部命令]]></title><link>https://blog.youkuaiyun.com/James_JR10/article/details/114521505</link><guid>https://blog.youkuaiyun.com/James_JR10/article/details/114521505</guid><author>James_JR10</author><pubDate>Mon, 08 Mar 2021 09:48:46 +0800</pubDate><description><![CDATA[解决办法
需要把环境变量path中的jdk的bin和jjre/bin分开
修改前：
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

修改后：
%JAVA_HOME%\bin;
%JAVA_HOME%\jre\bin;


]]></description><category></category></item><item><title><![CDATA[方法反射的基本操作]]></title><link>https://blog.youkuaiyun.com/James_JR10/article/details/113978288</link><guid>https://blog.youkuaiyun.com/James_JR10/article/details/113978288</guid><author>James_JR10</author><pubDate>Tue, 23 Feb 2021 11:22:56 +0800</pubDate><description><![CDATA[方法反射：
1、如何获取某个方法，方法的名称和方法的参数列表才能唯一决定某个方法
2、方法反射的操作 method.invoke(对象，参数列表)
public class MethodDemo1 {
    public static void main(String[] args) {

        /**
         * 要获取print(int,int)方法
         * 1、要获取一个方法就是获取类的信息，首先要获取类的类型
         */
        A a1 = ]]></description><category></category></item><item><title><![CDATA[通过反射了解集合泛型的本质]]></title><link>https://blog.youkuaiyun.com/James_JR10/article/details/113978149</link><guid>https://blog.youkuaiyun.com/James_JR10/article/details/113978149</guid><author>James_JR10</author><pubDate>Tue, 23 Feb 2021 11:21:11 +0800</pubDate><description><![CDATA[注意：反射的操作都是编译之后的操作，可以利用这点来往String数组中插入其他类型对象
public static void main(String[] args) {
        ArrayList list = new ArrayList();
        ArrayList&lt;String&gt; list1 = new ArrayList&lt;&gt;();
        list1.add("jell");

        Class c1 = list.getClass();
]]></description><category></category></item><item><title><![CDATA[Java反射获取类信息]]></title><link>https://blog.youkuaiyun.com/James_JR10/article/details/113977726</link><guid>https://blog.youkuaiyun.com/James_JR10/article/details/113977726</guid><author>James_JR10</author><pubDate>Tue, 23 Feb 2021 11:11:44 +0800</pubDate><description><![CDATA[获取成员函数
 /**
     * 打印类的信息，包含类的成员函数
     *
     * @param obj 该对象呢所属类的信息
     */
    public static void printClassMethodMessage(Object obj) {
        //要获取类的信息 首先要获取类的类类型
        Class c = obj.getClass();//传递的是哪个子类的对象，c就是哪个子类的类类型
        //获取类的名称
        Sys]]></description><category></category></item><item><title><![CDATA[自定义注解应用]]></title><link>https://blog.youkuaiyun.com/James_JR10/article/details/113882463</link><guid>https://blog.youkuaiyun.com/James_JR10/article/details/113882463</guid><author>James_JR10</author><pubDate>Sat, 20 Feb 2021 14:27:54 +0800</pubDate><description><![CDATA[需求背景
项目说明
    项目取自一个公司的持久层架构，用来代替 Hibernate 的解决方案，核心代码就是通过注解来实现的。

项目需求
  需求1：有一张用户表，字段包括用户ID，用户名，呢称，年龄，性别，所在城市，邮箱，手机号。
  需求2：方便对每个字段或字段的组合条件进行检索，并打印出SQL。
  需求3：使用方式要足够简单，见代码示例。

需求实现
实现思路：
1、定义用户类
2、通过类注解和字段注解的方式，实现l数据库表名与字段所对应
3、通过注解拿到表名和字段名
4、通过反射拿到对应字段]]></description><category></category></item><item><title><![CDATA[java注解]]></title><link>https://blog.youkuaiyun.com/James_JR10/article/details/113881939</link><guid>https://blog.youkuaiyun.com/James_JR10/article/details/113881939</guid><author>James_JR10</author><pubDate>Sat, 20 Feb 2021 13:57:27 +0800</pubDate><description><![CDATA[注解分类
1、按运行机制分类
1、源码注解（注解只在源码中存在，编译成class文件就不存在了）
2、编译时注解（注解在源码和class文件都存在）
3、运行时注解（在运行阶段还起作用，甚至能影响运行逻辑的注解）

2、按来源分类：
1、来自JDK的注解
2、来自三方注解
3、自定义注解

元注解：
@Target(作用域)
1、ElementType.CONSTRUCTOR:构造方法声明
2、ElementType.FIELD:字段声明
3、ElementType.LOCAL_VARIABLE:局部变量声]]></description><category></category></item><item><title><![CDATA[函数式编程-聚合计算]]></title><link>https://blog.youkuaiyun.com/James_JR10/article/details/113846864</link><guid>https://blog.youkuaiyun.com/James_JR10/article/details/113846864</guid><author>James_JR10</author><pubDate>Thu, 18 Feb 2021 15:02:33 +0800</pubDate><description><![CDATA[1、聚合计算
  @Test
    public void givenUsers_withSimpleSolarFunction_thenGetResult() {
        double avg = userList.stream().collect(averagingDouble(User::getAge));
        assertEquals((30 + 32 + 41) /3.0, avg);
        int sum = userList.stream().collect(s]]></description><category></category></item><item><title><![CDATA[函数式编程-收集器]]></title><link>https://blog.youkuaiyun.com/James_JR10/article/details/113846676</link><guid>https://blog.youkuaiyun.com/James_JR10/article/details/113846676</guid><author>James_JR10</author><pubDate>Thu, 18 Feb 2021 14:54:41 +0800</pubDate><description><![CDATA[集合对象收集器
1、toList
@Test
public void givenUsers_withMap_thenTransformUsingStream() {
List userDTOList = userList.stream().map(user -&gt; UserDTO.builder()
.username(user.getUsername())
.enabled(user.isEnabled() ? “可用” : “不可用”).build()).collect(Collectors.toL]]></description><category></category></item><item><title><![CDATA[函数式编程-基础操作符]]></title><link>https://blog.youkuaiyun.com/James_JR10/article/details/113846039</link><guid>https://blog.youkuaiyun.com/James_JR10/article/details/113846039</guid><author>James_JR10</author><pubDate>Thu, 18 Feb 2021 14:43:40 +0800</pubDate><description><![CDATA[基础操作符
终端操作符：forEach
@Slf4j
public class BasicOperatorTests {
  private static final User[] arrayOfUsers = {
        User.builder().id(1L).username("zhangsan").name("张三").enabled(true).mobile("13000000001").build(),
        User.builder().id(2L).username("l]]></description><category></category></item><item><title><![CDATA[nacos读取不到yml配置]]></title><link>https://blog.youkuaiyun.com/James_JR10/article/details/112471004</link><guid>https://blog.youkuaiyun.com/James_JR10/article/details/112471004</guid><author>James_JR10</author><pubDate>Mon, 11 Jan 2021 15:30:05 +0800</pubDate><description><![CDATA[异常如下：
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'demo.user.name' in value "${demo.user.name}"
	at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:178) ~[spring-core-5.2.1]]></description><category></category></item><item><title><![CDATA[MockMvc controller单元测试]]></title><link>https://blog.youkuaiyun.com/James_JR10/article/details/111182762</link><guid>https://blog.youkuaiyun.com/James_JR10/article/details/111182762</guid><author>James_JR10</author><pubDate>Mon, 14 Dec 2020 18:35:27 +0800</pubDate><description><![CDATA[注意:
1、入参是数组是，直接用字符串表示，不需要拼接成json格式或者toString，会自动解析。如： .param(“ids”, “1607928218234,1607928439133”)//传递数组
2、response打印乱码，需要设置相应编码。如：resultActions.andReturn().getResponse().setCharacterEncoding(“UTF-8”)
1、springboot + maven 项目，添加依赖坐标
&lt;dependency&gt;
    &]]></description><category></category></item><item><title><![CDATA[IDEA启动参数增强]]></title><link>https://blog.youkuaiyun.com/James_JR10/article/details/108337084</link><guid>https://blog.youkuaiyun.com/James_JR10/article/details/108337084</guid><author>James_JR10</author><pubDate>Tue, 01 Sep 2020 11:12:55 +0800</pubDate><description><![CDATA[-Xms2048m
-Xmx2048m
-XX:MaxPermSize=4096m
-Drebel.spring_plugin=true
-Drebel.spring_mvc_plugin=true
-Drebel.hibernate_plugin=true

]]></description><category></category></item><item><title><![CDATA[BigDecimal小数点末尾0去除]]></title><link>https://blog.youkuaiyun.com/James_JR10/article/details/108336941</link><guid>https://blog.youkuaiyun.com/James_JR10/article/details/108336941</guid><author>James_JR10</author><pubDate>Tue, 01 Sep 2020 11:07:41 +0800</pubDate><description><![CDATA[BigDecimal小数点末尾0去除
new DecimalFormat("0.##").format();


]]></description><category></category></item><item><title><![CDATA[StringUtils中 isNotEmpty 和isNotBlank的区别]]></title><link>https://blog.youkuaiyun.com/James_JR10/article/details/84944454</link><guid>https://blog.youkuaiyun.com/James_JR10/article/details/84944454</guid><author>James_JR10</author><pubDate>Mon, 10 Dec 2018 18:37:06 +0800</pubDate><description><![CDATA[import org.apache.commons.lang.StringUtils;

/**
 * @Author: Rick
 * @Date: 2018/12/10 18:09
 */
public class StringUtilsBlankAndEnpty {
    public static void main(String[] args) {
        //isNotEmp...]]></description><category></category></item><item><title><![CDATA[端口占用解决方法]]></title><link>https://blog.youkuaiyun.com/James_JR10/article/details/84073126</link><guid>https://blog.youkuaiyun.com/James_JR10/article/details/84073126</guid><author>James_JR10</author><pubDate>Wed, 14 Nov 2018 20:12:32 +0800</pubDate><description><![CDATA[以80端口为例，怎么查看80端口占用和被哪个进程使用，如何终止
使用DOS工具，点击win+R，输入CMD，打开DOS窗口，然后执行以下命令：

netstat -aon | findstr “80”
Proto  Local Address          Foreign Address        State            PID
====  ============      =...]]></description><category></category></item><item><title><![CDATA[Java设计模式-单例模式（二）单例模式类]]></title><link>https://blog.youkuaiyun.com/James_JR10/article/details/83829439</link><guid>https://blog.youkuaiyun.com/James_JR10/article/details/83829439</guid><author>James_JR10</author><pubDate>Wed, 07 Nov 2018 18:30:06 +0800</pubDate><description><![CDATA[饿汉式单例类
饿汉式单例类在加载时单例对象已经被创建。代码如下：
/**
 * 懒汉式单例
 * @Author: Rick
 * @Date: 2018/10/31 17:44
 */
public class EagerSingleton {
    private static EagerSingleton eagerSingleton = new EagerSingleton();

  ...]]></description><category></category></item><item><title><![CDATA[Java设计模式-单例模式（一）单例模式实现]]></title><link>https://blog.youkuaiyun.com/James_JR10/article/details/83588904</link><guid>https://blog.youkuaiyun.com/James_JR10/article/details/83588904</guid><author>James_JR10</author><pubDate>Wed, 31 Oct 2018 19:04:25 +0800</pubDate><description><![CDATA[单例模式的目的是保证一个类有且仅有一个实例，并向外提供一个访问它的全局访问点。单例模式拥有一个私有构造函数，确保外界不能通过new关键字来直接实例化它，除此之外，在单例类中还有一个静态私有方法供外界调用，实例化该单例对象。
代码实现如下：

/**
 * 单例模式
 *
 * @Author: Rick
 * @Date: 2018/10/25 18:45
 */
public class Sin...]]></description><category></category></item><item><title><![CDATA[IDEA远程联调（debug）]]></title><link>https://blog.youkuaiyun.com/James_JR10/article/details/83341638</link><guid>https://blog.youkuaiyun.com/James_JR10/article/details/83341638</guid><author>James_JR10</author><pubDate>Wed, 24 Oct 2018 11:39:58 +0800</pubDate><description><![CDATA[1、tomcat服务器开启远程debug端口
在startup.sh文件中添加下面的配置：
declare -x CATALINA_OPTS=“-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000”
2、在idea中的配置如下：


...]]></description><category></category></item><item><title><![CDATA[dubbo接口超时和重试次数问题]]></title><link>https://blog.youkuaiyun.com/James_JR10/article/details/83146943</link><guid>https://blog.youkuaiyun.com/James_JR10/article/details/83146943</guid><author>James_JR10</author><pubDate>Thu, 18 Oct 2018 15:06:36 +0800</pubDate><description><![CDATA[背景：如果不设置dubbo解救超时时间，默认是1s，重试次数是2次，在调用dubbo接口时，会存在超过1s的接口响应时间，这时，就会重新发送请求，而在dubbo提供方逻辑还没有走完，就会由于接口响应时间问题而造成bug，在这次事故中是对数据库的操作几乎同时操作造成了SqlMapClient operation; SQL []这个错误。
dubbo默认值：



  变量名
  描述
  默认值
 ...]]></description><category></category></item></channel></rss>