<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[神盾局码农]]></title><description><![CDATA[撸串编程看美女，踢球喝茶打魔兽。。。]]></description><link>https://blog.youkuaiyun.com/fishcy521</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; fishcy521]]></copyright><item><title><![CDATA[实用的 Java 8 Stream集合的筛选、归约、分组、聚合]]></title><link>https://blog.youkuaiyun.com/fishcy521/article/details/124517019</link><guid>https://blog.youkuaiyun.com/fishcy521/article/details/124517019</guid><author>fishcy521</author><pubDate>Sat, 30 Apr 2022 19:16:00 +0800</pubDate><description><![CDATA[网上看到大神的写文章,总结很好,遂就借鉴一下,以便以后使用,

原文连接:今日头条





先贴上几个案例，水平高超的同学可以挑战一下：

1. 从员工集合中筛选出salary大于8000的员工，并放置到新的集合里。

2. 统计员工的最高薪资、平均薪资、薪资之和。

3. 将员工按薪资从高到低排序，同样薪资者年龄小者在前。

4. 将员工按性别分类，将员工按性别和地区分类，将员工按薪资是否高于8000分为两部分。

用传统的迭代处理也不是很难，但代码就显得冗余了，跟Stream相比高下立判。Java 8]]></description><category></category></item><item><title><![CDATA[本地搭建start.spring.io,创建spring-boot 工程]]></title><link>https://blog.youkuaiyun.com/fishcy521/article/details/124351639</link><guid>https://blog.youkuaiyun.com/fishcy521/article/details/124351639</guid><author>fishcy521</author><pubDate>Fri, 22 Apr 2022 18:09:39 +0800</pubDate><description><![CDATA[使用idea 创建spring boot module的时候有时候会遇到无法根据模板创建的情况





其实原因就是start.spring.io暂时不能访问造成的,毕竟当输入group,artifactid之类的信息后,是提交到start.spring.io的网站上,然后由start.spring.io生成的.

那碰到这种情况如何解决呢,百度了一下一些人写的东西,非常8错,借鉴一下,并归纳总结一下,就是搭建本地的spring boot Initializr,就解决了.

那如何搭建呢?有的大神说,在需]]></description><category></category></item><item><title><![CDATA[Eureka参数配置项]]></title><link>https://blog.youkuaiyun.com/fishcy521/article/details/124073290</link><guid>https://blog.youkuaiyun.com/fishcy521/article/details/124073290</guid><author>fishcy521</author><pubDate>Sun, 10 Apr 2022 10:20:28 +0800</pubDate><description><![CDATA[eureka参数]]></description><category></category></item><item><title><![CDATA[关于property ‘spring.profiles.active‘ class path resource [application-xx.yml] 的错误的问题]]></title><link>https://blog.youkuaiyun.com/fishcy521/article/details/124039217</link><guid>https://blog.youkuaiyun.com/fishcy521/article/details/124039217</guid><author>fishcy521</author><pubDate>Fri, 08 Apr 2022 13:26:52 +0800</pubDate><description><![CDATA[最近用springboot写后端服务，之前明明可以运行的多环境配置，突然不奏效了，报如下错误：


org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property 'spring.profiles.active' imported from location 'class path resource [application-test.yml]' is invalid in a profile spec]]></description><category></category></item><item><title><![CDATA[linux 中关于连接的一些总结]]></title><link>https://blog.youkuaiyun.com/fishcy521/article/details/120839176</link><guid>https://blog.youkuaiyun.com/fishcy521/article/details/120839176</guid><author>fishcy521</author><pubDate>Tue, 19 Oct 2021 09:01:37 +0800</pubDate><description><![CDATA[一、查看哪些IP连接本机


netstat -an

二、查看TCP连接数

1）统计80端口连接数


netstat -nat | grep -i "80" | wc -l

2）统计httpd协议连接数


ps -ef | grep httpd | wc -l

3）统计已连接上的，状态为“established


netstat -anp | grep ESTABLISHED | wc -l

4)、查出哪个IP地址连接最多，将其封了


netstat -anp | grep ESTABLI]]></description><category></category></item><item><title><![CDATA[Emmet 总结(这真是一个省事的好工具)]]></title><link>https://blog.youkuaiyun.com/fishcy521/article/details/118994200</link><guid>https://blog.youkuaiyun.com/fishcy521/article/details/118994200</guid><author>fishcy521</author><pubDate>Fri, 23 Jul 2021 14:04:12 +0800</pubDate><description><![CDATA[emmet目录版]]></description><category></category></item><item><title><![CDATA[CSS中 px、em、rem区别]]></title><link>https://blog.youkuaiyun.com/fishcy521/article/details/118991375</link><guid>https://blog.youkuaiyun.com/fishcy521/article/details/118991375</guid><author>fishcy521</author><pubDate>Thu, 22 Jul 2021 09:47:06 +0800</pubDate><description><![CDATA[在css中单位长度用的最多的是px、em、rem，这三个的区别是：

一、px是固定的像素，一旦设置了就无法因为适应页面大小而改变。

二、em和rem相对于px更具有灵活性，他们是相对长度单位，意思是长度不是定死了的，更适用于响应式布局。

三、em是相对于其父元素来设置字体大小的，一般都是以&lt;body&gt;的“font-size”为基准。这样就会存在一个问题，进行任何元素设置，都有可能需要知道他父元素的大小。而Rem是相对于根元素&lt;html&gt;，这样就意味着，我们只需要在根元素确定一个]]></description><category></category></item><item><title><![CDATA[基于Springboot 2.0 + LayUI开发的物流管理系统]]></title><link>https://blog.youkuaiyun.com/fishcy521/article/details/118769305</link><guid>https://blog.youkuaiyun.com/fishcy521/article/details/118769305</guid><author>fishcy521</author><pubDate>Fri, 16 Jul 2021 13:57:02 +0800</pubDate><description><![CDATA[这是别人的项目，我是拿来学习的

项目需求说明

首先，发货客户与快递公司签订货运合同(货运单)，把货物交给快递公司来托运，并按照货运合同的付款方式付款。快递公司根据货物运输线路，为货物配车，找到合适的车辆后，与司机签订运输合同(回执单)，并按照运输合同的运费结算方式结算。司机对货物检查无误后，装车，然后发车，发车后，货物的任何损失由司机承担。

司机到达目的地后，需要经过货物验收，验收通过，填写一份司机回执单，快递公司这时同时通知发货客户和收货客户，货物已到达。如果货物没有通过验收，则填写差错记录。如果该]]></description><category></category></item><item><title><![CDATA[HashMap高阶用法]]></title><link>https://blog.youkuaiyun.com/fishcy521/article/details/118769396</link><guid>https://blog.youkuaiyun.com/fishcy521/article/details/118769396</guid><author>fishcy521</author><pubDate>Fri, 16 Jul 2021 13:56:55 +0800</pubDate><description><![CDATA[HashMap在工作中使用非常频繁，其实在JDK1.8的时候新增一些更高阶的用法，熟练使用这些方法可以大大提升开发效率，写出更简洁优美的代码。

1. get方法指定返回默认值（getOrDefault）


Map&lt;String, String&gt; map = new HashMap&lt;&gt;();
map.put("key1", "value1");
String value1 = map.getOrDefault("key1", "defaultValue");
System.out.]]></description><category></category></item><item><title><![CDATA[Java8 stream复杂使用场景]]></title><link>https://blog.youkuaiyun.com/fishcy521/article/details/118769443</link><guid>https://blog.youkuaiyun.com/fishcy521/article/details/118769443</guid><author>fishcy521</author><pubDate>Fri, 16 Jul 2021 13:56:49 +0800</pubDate><description><![CDATA[Java8 stream流在工作中很常用，能够大大提升我们的开发效率，但是有些更复杂的场景，初级程序员可能很少遇到，资深程序员在日常工作会经常遇到，这些场景你知道解决办法吗？

1. 按照属性ID去重对象

虽然distinct()方法也可以进行去重，但是只能比较整个对象，不能比较对象里属性。





我们可以这样去重，新建一个方法，利用HashMap的key不能重复的特性，进行对象去重。





2. List转换成Map时遇到重复主键





这样转换会报错，因为ID重复。





可以这样做
]]></description><category></category></item><item><title><![CDATA[Java8 Optional 的使用]]></title><link>https://blog.youkuaiyun.com/fishcy521/article/details/118769509</link><guid>https://blog.youkuaiyun.com/fishcy521/article/details/118769509</guid><author>fishcy521</author><pubDate>Fri, 16 Jul 2021 13:56:39 +0800</pubDate><description><![CDATA[前情提要
女朋友突然在你面前拿出一个包包，问你这个包包是什么牌子？

你怎么办？当然是写段代码打印一下。


public class Boy {
    // new出一个女朋友
    private GirlFriend girlFriend;

    public GirlFriend getGirlFriend() {
        return girlFriend;
    }
}

public class GirlFriend {
    // 对于女朋友来说，包治百病
    pri]]></description><category></category></item><item><title><![CDATA[Java8 Stream流使用]]></title><link>https://blog.youkuaiyun.com/fishcy521/article/details/118769567</link><guid>https://blog.youkuaiyun.com/fishcy521/article/details/118769567</guid><author>fishcy521</author><pubDate>Fri, 16 Jul 2021 13:56:19 +0800</pubDate><description><![CDATA[Java8新增的Stream流大大减轻了我们代码的工作量，但是Stream流的用法较多，实际使用的时候容易遗忘，整理一下供大家参考。

1. 概述

Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来对 Java 集合运算和表达的高阶抽象。

Stream API 可以极大提高Java程序员的生产力，让程序员写出高效率、干净、简洁的代码。

这种风格将要处理的元素集合看作一种流， 流在管道中传输， 并且可以在管道的节点上进行处理， 比如筛选， 排序，聚合等。





2. 创建

2.]]></description><category></category></item><item><title><![CDATA[程序员必会的工具库]]></title><link>https://blog.youkuaiyun.com/fishcy521/article/details/118769595</link><guid>https://blog.youkuaiyun.com/fishcy521/article/details/118769595</guid><author>fishcy521</author><pubDate>Fri, 16 Jul 2021 13:55:41 +0800</pubDate><description><![CDATA[工作很多年后，才发现有很多工具类库，可以大大简化代码量，提升开发效率，初级开发者却不知道。而这些类库早就成为了业界标准类库，大公司的内部也都在使用，如果刚工作的时候就有人告诉我使用这些工具类库，该多好！

一块看一下有哪些工具类库你也用过。

1. Java自带工具方法

1.1 List集合拼接成以逗号分隔的字符串


// 如何把list集合拼接成以逗号分隔的字符串 a,b,c
List&lt;String&gt; list = Arrays.asList("a", "b", "c");
// 第一种方]]></description><category></category></item><item><title><![CDATA[Java程序员的线上惨痛踩坑记录]]></title><link>https://blog.youkuaiyun.com/fishcy521/article/details/118769638</link><guid>https://blog.youkuaiyun.com/fishcy521/article/details/118769638</guid><author>fishcy521</author><pubDate>Fri, 16 Jul 2021 13:55:25 +0800</pubDate><description><![CDATA[1. 包装类型自动解箱导致空指针异常


public int getId() {
  Integer id = null;
  return id;
}

如果调用上面的方法会发生什么？id是Integer类型，而方法的返回值int类型，会自动拆箱转换，由于id是null，转换成int类型的时候，就会报NullPointerException异常。

无论是《阿里Java开发手册》、《代码整洁之道》还是《Effective Java》都建议方法返回值类型尽量写成包装类型，类似Integer。还有实...]]></description><category></category></item><item><title><![CDATA[MyBatis Plus 使用]]></title><link>https://blog.youkuaiyun.com/fishcy521/article/details/118769254</link><guid>https://blog.youkuaiyun.com/fishcy521/article/details/118769254</guid><author>fishcy521</author><pubDate>Thu, 15 Jul 2021 21:25:01 +0800</pubDate><description><![CDATA[mybatis-plus是一款Mybatis增强工具，用于简化开发，提高效率。下文使用缩写mp来简化表示mybatis-plus，本文主要介绍mp搭配SpringBoot的使用。

注：本文使用的mp版本是当前最新的3.4.2，早期版本的差异请自行查阅文档

官方网站：baomidou.com/

快速入门


	创建一个SpringBoot项目
	
	
	导入依赖
	

&lt;!--pom.xml--&gt;
&lt;?xmlversion="1.0"encoding="UTF-8"...]]></description><category></category></item><item><title><![CDATA[Java 泛型 T，E，K，V，?， 了解一下]]></title><link>https://blog.youkuaiyun.com/fishcy521/article/details/118769159</link><guid>https://blog.youkuaiyun.com/fishcy521/article/details/118769159</guid><author>fishcy521</author><pubDate>Thu, 15 Jul 2021 21:19:46 +0800</pubDate><description><![CDATA[前言

Java 泛型（generics）是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制，该机制允许开发者在编译时检测到非法的类型。

泛型的本质是参数化类型，也就是说所操作的数据类型被指定为一个参数。

泛型带来的好处

在没有泛型的情况的下，通过对类型 Object 的引用来实现参数的“任意化”，“任意化”带来的缺点是要做显式的强制类型转换，而这种转换是要求开发者对实际参数类型可以预知的情况下进行的。对于强制类型转换错误的情况，编译器可能不提示错误，在运行的时候才出现异常，这是本]]></description><category></category></item><item><title><![CDATA[SpringCloud体系中的重要技术点]]></title><link>https://blog.youkuaiyun.com/fishcy521/article/details/118769082</link><guid>https://blog.youkuaiyun.com/fishcy521/article/details/118769082</guid><author>fishcy521</author><pubDate>Thu, 15 Jul 2021 21:16:34 +0800</pubDate><description><![CDATA[1、什么是微服务

1.1、架构演进

架构的发展历程是从单体式架构，到分布式架构，到SOA架构，再到微服务架构。

图1：架构演进



在这里插入图片描述


	单体架构：未做任何拆分的Java Web程序
	
图2：单体架构示意图



在这里插入图片描述


	分布式架构:按照业务垂直划分，每个业务都是单体架构，通过API互相调用。
	
图3：分布式架构示意图



在这里插入图片描述


	SOA架构：SOA是一种面向服务的架构。其应用程序的不同组件通过网络上的通信协议向其它组件提供服务或消费服务]]></description><category></category></item><item><title><![CDATA[Excel导入导出优化]]></title><link>https://blog.youkuaiyun.com/fishcy521/article/details/118768925</link><guid>https://blog.youkuaiyun.com/fishcy521/article/details/118768925</guid><author>fishcy521</author><pubDate>Thu, 15 Jul 2021 21:07:32 +0800</pubDate><description><![CDATA[一些细节


	数据导入：导入使用的模板由系统提供，格式是 xlsx (支持 65535+行数据) ，用户按照表头在对应列写入相应的数据
	
	
	数据校验：数据校验有两种：

	
		字段长度、字段正则表达式校验等，内存内校验不存在外部数据交互。对性能影响较小
		
		
		数据重复性校验，如票据号是否和系统已存在的票据号重复(需要查询数据库，十分影响性能)
		
	
	
	数据插入：测试环境数据库使用 MySQL 5.7，未分库分表，连接池使用 Druid
	
迭代记录

第一版：POI + 逐行查询]]></description><category></category></item><item><title><![CDATA[SQL优化总结]]></title><link>https://blog.youkuaiyun.com/fishcy521/article/details/118768818</link><guid>https://blog.youkuaiyun.com/fishcy521/article/details/118768818</guid><author>fishcy521</author><pubDate>Thu, 15 Jul 2021 21:02:28 +0800</pubDate><description><![CDATA[看了别人写的这个文章之后觉得不错，记录一下，以便以后使用

目录

前言

SELECT语句 - 语法顺序：

SELECT语句 - 执行顺序：

SQL优化策略

一、避免不走索引的场景

二、SELECT语句其他优化

三、增删改 DML 语句优化

四、查询条件优化

五、建表优化

有朋友疑问到，SQL优化真的有这么重要么？如下图所示，SQL优化在提升系统性能中是：（成本最低 &amp;&amp; 优化效果最明显） 的途径。如果你的团队在SQL优化这方面搞得很优秀，对你们整个大型系统可用性方面无疑是]]></description><category></category></item><item><title><![CDATA[SpringBoot+ Dubbo + Mybatis + Nacos +Seata整合来实现Dubbo分布式事务]]></title><link>https://blog.youkuaiyun.com/fishcy521/article/details/118768675</link><guid>https://blog.youkuaiyun.com/fishcy521/article/details/118768675</guid><author>fishcy521</author><pubDate>Thu, 15 Jul 2021 21:00:57 +0800</pubDate><description><![CDATA[1.简介

“
本文主要介绍SpringBoot2.1.5 + Dubbo 2.7.3 + Mybatis 3.4.2 + Nacos 1.1.3 +Seata 0.8.0整合来实现Dubbo分布式事务管理，使用Nacos 作为 Dubbo和Seata的注册中心和配置中心,使用 MySQL 数据库和 MyBatis来操作数据。
”

如果你还对SpringBoot、Dubbo、Nacos、Seata、Mybatis 不是很了解的话，这里我为大家整理个它们的官网网站，如下


	SpringBoot：http]]></description><category></category></item></channel></rss>