<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[mada26]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/mada26</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; mada26]]></copyright><item><title><![CDATA[面向防御式编程]]></title><link>https://blog.csdn.net/mada26/article/details/133171116</link><guid>https://blog.csdn.net/mada26/article/details/133171116</guid><author>mada26</author><pubDate>Fri, 22 Sep 2023 14:52:31 +0800</pubDate><description><![CDATA[对于for循环层级太深的优化方案，一般推荐使用map，少了一层循环，代码效率提升一些。但不是所有的for循环都能用map替代，即先把不满足条件的代码先执行，然后才执行满足条件的代码。此外别忘了，把满足条件的代码抽取到一个新的方法中喔。如：不满足条件1，则返回，满足则往下继续执行；再判断是否满足条件2，不满足则返回，满足则继续往下执行…要根据自己实际情况选择。]]></description><category></category></item><item><title><![CDATA[通过Jackson序列化反序列化解决对象拷贝问题]]></title><link>https://blog.csdn.net/mada26/article/details/126278507</link><guid>https://blog.csdn.net/mada26/article/details/126278507</guid><author>mada26</author><pubDate>Thu, 11 Aug 2022 09:30:45 +0800</pubDate><description><![CDATA[通过json序列化、反序列化解决一个对象拷贝的问题]]></description><category></category></item><item><title><![CDATA[Git常用命令汇总]]></title><link>https://blog.csdn.net/mada26/article/details/126139288</link><guid>https://blog.csdn.net/mada26/article/details/126139288</guid><author>mada26</author><pubDate>Wed, 03 Aug 2022 14:07:44 +0800</pubDate><description><![CDATA[记录了一些Git常用的命令]]></description><category></category></item><item><title><![CDATA[HashSet底层结构]]></title><link>https://blog.csdn.net/mada26/article/details/124404947</link><guid>https://blog.csdn.net/mada26/article/details/124404947</guid><author>mada26</author><pubDate>Mon, 25 Apr 2022 14:43:25 +0800</pubDate><description><![CDATA[HashSet底层结构]]></description><category></category></item><item><title><![CDATA[基于Protostuff的序列化与反序列化]]></title><link>https://blog.csdn.net/mada26/article/details/121826907</link><guid>https://blog.csdn.net/mada26/article/details/121826907</guid><author>mada26</author><pubDate>Thu, 09 Dec 2021 15:46:45 +0800</pubDate><description><![CDATA[一种protobuf序列化方式，不需要编写proto文件
Maven依赖
         &lt;dependency&gt;
            &lt;groupId&gt;com.dyuproject.protostuff&lt;/groupId&gt;
            &lt;artifactId&gt;protostuff-core&lt;/artifactId&gt;
            &lt;version&gt;1.0.7&lt;/version&gt;
        ]]></description><category></category></item><item><title><![CDATA[Java多线程&线程安全&并发包]]></title><link>https://blog.csdn.net/mada26/article/details/106349325</link><guid>https://blog.csdn.net/mada26/article/details/106349325</guid><author>mada26</author><pubDate>Tue, 26 May 2020 10:21:30 +0800</pubDate><description><![CDATA[1：synchronized（保证原子性和可见性）
1.同步锁。多线程同时访问时，同一时刻只能有一个线程能够访问使synchronized修饰的代码块或方法。它修饰的对象有以下几种：

修饰一个代码块，被修饰的代码块称为同步语句块，其作用的范围是大括号{}括起来的代码，作用的对象是调用这个代码块的对象
修饰一个方法，被修饰的方法称为同步方法，其作用的范围是整个方法，作用的对象是调用这个方法的对象
修改一个静态的方法，其作用的范围是整个静态方法，作用的对象是这个类的所有对象
修饰一个类，其作用的范围是sync]]></description><category></category></item><item><title><![CDATA[断点启动远程tomcat]]></title><link>https://blog.csdn.net/mada26/article/details/105511647</link><guid>https://blog.csdn.net/mada26/article/details/105511647</guid><author>mada26</author><pubDate>Tue, 14 Apr 2020 14:37:29 +0800</pubDate><description><![CDATA[1：断点启动远程tomcat  使用./catalina.sh jpda start 代替原本的 ./startup.sh
2：启动tomcat并查看日志	./startup.sh | tailf …/logs/catalina.2018-02-09.out，如图所示：

]]></description><category></category></item><item><title><![CDATA[idea使用jetty插件进行热部署]]></title><link>https://blog.csdn.net/mada26/article/details/105048189</link><guid>https://blog.csdn.net/mada26/article/details/105048189</guid><author>mada26</author><pubDate>Mon, 23 Mar 2020 14:36:21 +0800</pubDate><description><![CDATA[1. 在pom.xml中引入jetty插件
&lt;!-- jetty插件 --&gt;
&lt;plugin&gt;
    &lt;groupId&gt;org.eclipse.jetty&lt;/groupId&gt;
    &lt;artifactId&gt;jetty-maven-plugin&lt;/artifactId&gt;
    &lt;version&gt;9.3.7.v2...]]></description><category></category></item><item><title><![CDATA[Intellij IDEA中使用Protobuf]]></title><link>https://blog.csdn.net/mada26/article/details/102456339</link><guid>https://blog.csdn.net/mada26/article/details/102456339</guid><author>mada26</author><pubDate>Wed, 09 Oct 2019 11:09:24 +0800</pubDate><description><![CDATA[1.安装Protobuf Support插件

2.将.proto文件转成Java类

一般的做法，是执行protoc命令，依次将.proto文件转成Java类:

protoc.exe -I=d:/tmp --java_out=d:/tmp d:/tmp/monitor_data.proto
2.使用gRPC官方推荐的一种更优雅的使用姿势，可以通过maven轻松搞定，具体步骤：

pom.xml...]]></description><category></category></item><item><title><![CDATA[序列化时包名处理]]></title><link>https://blog.csdn.net/mada26/article/details/89713347</link><guid>https://blog.csdn.net/mada26/article/details/89713347</guid><author>mada26</author><pubDate>Tue, 30 Apr 2019 17:21:35 +0800</pubDate><description><![CDATA[前提：同一个实体，在两个项目中使用

使用fastjson进行序列化反序列化，两个实体的包名无需保持一致：fastjson序列化反序列化是根据**@JSONField注解**中的name等字段进行处理的。
使用io流进行序列化反序列化，两个实体的包名必须保持一致：否则反序列化时根据实体类的全路径找不到对应的实体类会反序列化失败。


...]]></description><category></category></item><item><title><![CDATA[jdk1.8安装：windows和Linux(root和worker用户)]]></title><link>https://blog.csdn.net/mada26/article/details/89553123</link><guid>https://blog.csdn.net/mada26/article/details/89553123</guid><author>mada26</author><pubDate>Fri, 26 Apr 2019 14:41:19 +0800</pubDate><description><![CDATA[windows下安装jdk1.8

新建环境变量JAVA_HOME、CLASSPATH

JAVA_HOME *C:\Program Files\Java\jdk1.8.0_102*     JAVA_HOME是配置JDK的目录
CLASSPATH .;%JAVA_HOME%\lib;      CLASSPATH指定到哪里去找运行时需要的类代码(字节码)


编辑环境变量PATH

PATH %......]]></description><category></category></item><item><title><![CDATA[tomcat启动失败之Http11AprProtocol]]></title><link>https://blog.csdn.net/mada26/article/details/89511523</link><guid>https://blog.csdn.net/mada26/article/details/89511523</guid><author>mada26</author><pubDate>Thu, 25 Apr 2019 10:55:54 +0800</pubDate><description><![CDATA[1问题：tomcat启动失败

2解决方案：
修改server.xml中的Http11AprProtocol为Http11NioProtocol，重启


]]></description><category></category></item><item><title><![CDATA[es如何实现分页功能]]></title><link>https://blog.csdn.net/mada26/article/details/88668908</link><guid>https://blog.csdn.net/mada26/article/details/88668908</guid><author>mada26</author><pubDate>Tue, 19 Mar 2019 18:05:41 +0800</pubDate><description><![CDATA[1：深度分页参考：如何跳过es分页这个坑

]]></description><category></category></item><item><title><![CDATA[ES的group by功能]]></title><link>https://blog.csdn.net/mada26/article/details/88424188</link><guid>https://blog.csdn.net/mada26/article/details/88424188</guid><author>mada26</author><pubDate>Tue, 12 Mar 2019 16:56:50 +0800</pubDate><description><![CDATA[group by 按字段的值进行分组

类似MySQL中的 SELECT sum(field) as sum_field from table group by field order by sum_field desc
es中会使用：AggregationBuilders.sum(“name”).field(“field”); 注意：字段类型必须是数值类型

group by 按字段的值进行范围...]]></description><category></category></item><item><title><![CDATA[servlet获取http接口获取请求体内容(get&post)]]></title><link>https://blog.csdn.net/mada26/article/details/88390436</link><guid>https://blog.csdn.net/mada26/article/details/88390436</guid><author>mada26</author><pubDate>Mon, 11 Mar 2019 11:19:01 +0800</pubDate><description><![CDATA[get请求方式：

	Long houseId = Long.parseLong(request.getParameter(&amp;amp;quot;houseId&amp;amp;quot;));



post请求方式

        ServletInputStream servletInputStream = request.getInputStream();

        StringBuilder content = new ...]]></description><category></category></item><item><title><![CDATA[ElasticSearch专栏说明]]></title><link>https://blog.csdn.net/mada26/article/details/86513470</link><guid>https://blog.csdn.net/mada26/article/details/86513470</guid><author>mada26</author><pubDate>Wed, 16 Jan 2019 19:38:37 +0800</pubDate><description><![CDATA[es版本2.4.6，jdk版本1.8
专栏中代码GitHub地址：https://github.com/madali1018/commons/tree/master/src/main/java/com/mada/es



]]></description><category></category></item><item><title><![CDATA[ElasticSearch查询索引分片副本等信息&字段类型等]]></title><link>https://blog.csdn.net/mada26/article/details/86513333</link><guid>https://blog.csdn.net/mada26/article/details/86513333</guid><author>mada26</author><pubDate>Wed, 16 Jan 2019 19:29:05 +0800</pubDate><description><![CDATA[

查看集群信息（索引分片，副本数，创建时间等信息）：curl -XGET &amp;amp;amp;quot;http://127.0.0.1:9200/index1-mdl/_settings?pretty&amp;amp;amp;quot;

java实现方式 public Map&amp;amp;amp;amp;lt;String, String&amp;amp;amp;amp;gt; getIndexSettings(String indexName) {

 Settings sta]]></description><category></category></item><item><title><![CDATA[Intellij idea配置python3开发环境]]></title><link>https://blog.csdn.net/mada26/article/details/85453499</link><guid>https://blog.csdn.net/mada26/article/details/85453499</guid><author>mada26</author><pubDate>Mon, 31 Dec 2018 11:19:41 +0800</pubDate><description><![CDATA[idea run python程序前序配置：

idea需要在plugins中安装python，然后重启ieda。
Project Structure，Project指定Python的安装路径。
右键，run python程序
示例如图所示：




...]]></description><category></category></item><item><title><![CDATA[Intellij idea用快捷键自动生成序列化id]]></title><link>https://blog.csdn.net/mada26/article/details/85452008</link><guid>https://blog.csdn.net/mada26/article/details/85452008</guid><author>mada26</author><pubDate>Mon, 31 Dec 2018 10:52:23 +0800</pubDate><description><![CDATA[Intellij idea用快捷键自动生成序列化id
1.类继承了Serializable接口之后，使用alt+enter快捷键自动创建序列化id。使用该快捷键需要进行如下配置：
进入setting→inspections→serialization issues→选择图中的选项。serializable class without ‘serialVersionUID’
如图所示：


...]]></description><category></category></item><item><title><![CDATA[navicat for mysql 注册码]]></title><link>https://blog.csdn.net/mada26/article/details/85329444</link><guid>https://blog.csdn.net/mada26/article/details/85329444</guid><author>mada26</author><pubDate>Fri, 28 Dec 2018 17:56:32 +0800</pubDate><description><![CDATA[1.分享一个可用的 navicat for mysql 注册码 名,组织,注册码都是:NAVN-LNXG-XHHX-5NOO

]]></description><category></category></item></channel></rss>