<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[java1527的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/java1527</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; java1527]]></copyright><item><title><![CDATA[ZooKeeper系列：zk中的watch]]></title><link>https://blog.csdn.net/java1527/article/details/127242648</link><guid>https://blog.csdn.net/java1527/article/details/127242648</guid><author>java1527</author><pubDate>Mon, 10 Oct 2022 13:10:38 +0800</pubDate><description><![CDATA[Watch就是监听，观察。其实就是客户端注册watch，然后服务端发生节点数据变化的时候会触发watch事件，接着回调客户端。]]></description><category></category></item><item><title><![CDATA[堪称一站式管理平台，同时支持Linux、MySQL、Redis、MongoDB可视化管理]]></title><link>https://blog.csdn.net/java1527/article/details/127242633</link><guid>https://blog.csdn.net/java1527/article/details/127242633</guid><author>java1527</author><pubDate>Mon, 10 Oct 2022 13:09:39 +0800</pubDate><description><![CDATA[mayfly-go号称Web版Linux、数据库、Redis、MongoDB统一管理操作平台，是一款开源的可视化管理工具。Linux系统管理：支持查看Linux系统信息和进程管理，内置了Web版的SSH终端工具。数据库管理：目前仅支持MySQL和PostgreSQL，类似于简化版的Navicat，功能不多但基本能满足我们的数据库管理需求。Redis管理：支持Redis服务信息的查看及数据管理。MongoDB管理：支持MongoDB服务信息的查看及数据管理。]]></description><category></category></item><item><title><![CDATA[Java 做项目能用到 Map 哪些功能？这篇总结全了]]></title><link>https://blog.csdn.net/java1527/article/details/127242617</link><guid>https://blog.csdn.net/java1527/article/details/127242617</guid><author>java1527</author><pubDate>Mon, 10 Oct 2022 13:07:41 +0800</pubDate><description><![CDATA[这篇文章给大家盘点了一下 Map 的整个体系中都有哪些实现类，并针以最常使用的 HashMap 为切入点，介绍了 Map 这种数据结构在开发中常会使用到的功能。这篇文章主要是让新手快速入门或者是让老手在开发中快速查询参考，对于 Map 底层的数据结构实现、怎么解决哈希碰撞、怎么扩容这些并没涉及，这块面试的时候还精彩被问到，在会使用 Map 的基础上，一定要再看看这方面的知识。]]></description><category></category></item><item><title><![CDATA[聊一聊安全且正确使用缓存的那些事 —— 关于缓存可靠性、关乎数据一致性]]></title><link>https://blog.csdn.net/java1527/article/details/127238055</link><guid>https://blog.csdn.net/java1527/article/details/127238055</guid><author>java1527</author><pubDate>Mon, 10 Oct 2022 09:14:23 +0800</pubDate><description><![CDATA[而没有设置过期时间的数据，通常是要求常驻内存的，往往是一些配置数据或者是一些需要当做白名单含义使用的数据（比如用户信息，如果用户信息不在缓存里，则说明用户不存在），这种如果强行将其删除，可能会造成业务层面的一些逻辑异常。有些人盯上了论坛的内容，便搞了个爬虫程序，模拟帖子ID的生成规则，调用查询详情接口并传入自己生成的ID去遍历挖取系统内的帖子数据，这样导致很多传入的ID是无效的、系统内并不存在对应ID的帖子数据。为了限制缓存的数量，很多的缓存记录都会设置一定的有效期，到期后自动失效。]]></description><category></category></item><item><title><![CDATA[靠这份文档，掌握百分之八十拿下阿里P8架构师岗，Java面试PDF]]></title><link>https://blog.csdn.net/java1527/article/details/127228028</link><guid>https://blog.csdn.net/java1527/article/details/127228028</guid><author>java1527</author><pubDate>Sun, 09 Oct 2022 15:45:17 +0800</pubDate><description><![CDATA[面试官通常会在短短两小时内对面试者的知识结构进行全面了解，面试者在回答问题时如果拖泥带水且不能直击问题的本质，则很难充分表现自己，最终影响面试结果。针对这种情况，本文在讲解知识点时不拖泥带水，力求精简，详细介绍了Java程序员面试时常被问及的核心知识点。本文是对Java程序员面试必备知识点的总结，详细讲解了JVM原理、多线程、数据结构和算法、分布式缓存、设计模式等内容，希望读者能通过阅读本书对Java的基础原理有更深入、全面的理解。添加图片注释，不超过 140 字（可选）关注公众号即可获得全套面试资料。]]></description><category></category></item><item><title><![CDATA[GitHub上超牛的《Java面试突击版》，分享PDF离线版]]></title><link>https://blog.csdn.net/java1527/article/details/127227961</link><guid>https://blog.csdn.net/java1527/article/details/127227961</guid><author>java1527</author><pubDate>Sun, 09 Oct 2022 15:41:53 +0800</pubDate><description><![CDATA[本文是对Java程序员面试必备知识点的总结，详细讲解了JVM原理、多线程、数据结构和算法、分布式缓存、设计模式等内容，希望读者能通过阅读本书对Java的基础原理有更深入、全面的理解。面试官通常会在短短两小时内对面试者的知识结构进行全面了解，面试者在回答问题时如果拖泥带水且不能直击问题的本质，则很难充分表现自己，最终影响面试结果。针对这种情况，本文在讲解知识点时不拖泥带水，力求精简，详细介绍了Java程序员面试时常被问及的核心知识点不论是校招还是社招都避免不了各种面试。]]></description><category></category></item><item><title><![CDATA[剑指Java面试：面试官能问到的问题，都被我收集在这份PDF文档里]]></title><link>https://blog.csdn.net/java1527/article/details/127225727</link><guid>https://blog.csdn.net/java1527/article/details/127225727</guid><author>java1527</author><pubDate>Sun, 09 Oct 2022 14:13:24 +0800</pubDate><description><![CDATA[本文是对Java程序员面试必备知识点的总结，详细讲解了JVM原理、多线程、数据结构和算法、分布式缓存、设计模式等内容，希望读者能通过阅读本书对Java的基础原理有更深入、全面的理解。面试官通常会在短短两小时内对面试者的知识结构进行全面了解，面试者在回答问题时如果拖泥带水且不能直击问题的本质，则很难充分表现自己，最终影响面试结果。针对这种情况，本文在讲解知识点时不拖泥带水，力求精简，详细介绍了Java程序员面试时常被问及的核心知识点拿到这个PDF之后，面试官所问到的知识点相信你都能答得上来！]]></description><category></category></item><item><title><![CDATA[excel百万数据如何导入导出？]]></title><link>https://blog.csdn.net/java1527/article/details/127225174</link><guid>https://blog.csdn.net/java1527/article/details/127225174</guid><author>java1527</author><pubDate>Sun, 09 Oct 2022 13:43:14 +0800</pubDate><description><![CDATA[因为你所创建的book，Sheet，row，cell等在写入到Excel之前，都是存放在内存中的（这还没有算Excel的一些样式格式等等），可想而知，内存不溢出就有点不科学了！限制了用户的下载数量每次最多只能有四个人同时下载，并且控制每个用户最大的导出数据最多只能是20w，与此同时他们也是使用的JDBC分批导入，但是并没有手动控制事务。2、其次就是往DB里插入，怎么去插入这20w条数据，当然不能一条一条的循环，应该批量插入这20w条数据，同样也不能使用Mybatis的批量插入语，因为效率也低。]]></description><category></category></item><item><title><![CDATA[程序员初学者频繁使用count(*)，被组长批评后怒怼：性能并不拉垮]]></title><link>https://blog.csdn.net/java1527/article/details/127225057</link><guid>https://blog.csdn.net/java1527/article/details/127225057</guid><author>java1527</author><pubDate>Sun, 09 Oct 2022 13:35:24 +0800</pubDate><description><![CDATA[mysql用count方法查全表数据，在不同的存储引擎里实现不同，myisam有专门字段记录全表的行数，直接读这个字段就好了。而innodb则需要一行行去算。性能方面count(*) ≈ count(1) > count(主键id) > count(普通索引列) > count(未加索引列)，但哪怕是性能最好的count(*)，由于实现上就需要一行行去算，所以数据量大的时候就是不给力。]]></description><category></category></item><item><title><![CDATA[满地坑，细数List的10个坑]]></title><link>https://blog.csdn.net/java1527/article/details/127224989</link><guid>https://blog.csdn.net/java1527/article/details/127224989</guid><author>java1527</author><pubDate>Sun, 09 Oct 2022 13:30:33 +0800</pubDate><description><![CDATA[由于篇幅的限制，我们只对一些在业务开发中常见的关键点进行梳理和介绍在实际的工作中，我们不单单是要清除不同类型容器的特性，还要选择适合的容器才能做到事半功倍。我们主要介绍了Arrays.asList转换过程中的一些坑，以及因为操作不当造成的OOM和异常，到最后介绍了线程安全类CopyOnWriteArrayList的一些坑，让我们认识到在丰富的API下藏着许多的陷阱。在使用的过程中，需要更加充分的考虑避免这些隐患的发生。最后一张思维导图来回顾一下~]]></description><category></category></item><item><title><![CDATA[答应我， 不要再用 if (obj = null) 判空了]]></title><link>https://blog.csdn.net/java1527/article/details/127224952</link><guid>https://blog.csdn.net/java1527/article/details/127224952</guid><author>java1527</author><pubDate>Sun, 09 Oct 2022 13:28:32 +0800</pubDate><description><![CDATA[相信不少小伙伴已经被java的NPE(Null Pointer Exception)所谓的空指针异常搞的头昏脑涨,有大佬说过“防止 NPE，是程序员的基本修养。”但是修养归修养，也是我们程序员最头疼的问题之一，那么我们今天就要尽可能的利用Java8的新特性 Optional来尽量简化代码同时高效处理NPE（Null Pointer Exception 空指针异常）]]></description><category></category></item><item><title><![CDATA[开源杂谈 : 理解开源框架的定制思路]]></title><link>https://blog.csdn.net/java1527/article/details/127220366</link><guid>https://blog.csdn.net/java1527/article/details/127220366</guid><author>java1527</author><pubDate>Sun, 09 Oct 2022 09:16:54 +0800</pubDate><description><![CDATA[作为开源软件,是有可能无法满足业务场景的.这一篇主要从思想的角度来看 ,如何对开源框架进行深度的改造. 主要以 SpringMVC DispatchServlet 的定制为案例.对于开源框架的深度定制其实是无赖之举 ,定制的目的是为了不破坏原有的逻辑,其实前后置处理器和链表中插入才是最合适的.不然别人出现个漏洞升级了 ,你代码就得完蛋。]]></description><category></category></item><item><title><![CDATA[好用到爆，IDEA版Postman面世了，功能非常强大]]></title><link>https://blog.csdn.net/java1527/article/details/127209893</link><guid>https://blog.csdn.net/java1527/article/details/127209893</guid><author>java1527</author><pubDate>Sat, 08 Oct 2022 15:35:12 +0800</pubDate><description><![CDATA[号称是IDEA版本的Postman。它是一个功能强大的Restful API工具包插件，可以根据已有的方法快速生成接口调试用例。它有一个漂亮的界面来完成请求、检查服务器响应、存储你的API请求和导出API请求，该插件能帮助你在IDEA内更快更高效地调试API！下面是使用调试mall项目API接口的一张效果图，用起来还是非常方便的！今天体验了一把这个插件，体验确实不错，开发人员用来调试接口基本够用了！尤其是它能根据接口代码直接生成调试信息，并且能根据接口直接定位代码，确实提高了开发人员的效率！]]></description><category></category></item><item><title><![CDATA[一文快速上手高性能网络框架netty]]></title><link>https://blog.csdn.net/java1527/article/details/127207523</link><guid>https://blog.csdn.net/java1527/article/details/127207523</guid><author>java1527</author><pubDate>Sat, 08 Oct 2022 13:56:24 +0800</pubDate><description><![CDATA[在使用netty之前，我们首先要知道netty的优势在哪，它能解决什么问题。我们不妨直接引用netty官网上最顶部的内容：翻译一下就是：netty是一款的的网络程序框架，支持开发可维护的的面向协议的服务器和客户端。pipline。]]></description><category></category></item><item><title><![CDATA[SpringBoot 优雅地实现文件的上传和下载]]></title><link>https://blog.csdn.net/java1527/article/details/127207498</link><guid>https://blog.csdn.net/java1527/article/details/127207498</guid><author>java1527</author><pubDate>Sat, 08 Oct 2022 13:55:07 +0800</pubDate><description><![CDATA[这里使用 mybatis-plus 的代码生成工具自动生成 controller、entity、service、mapper，极大地提高代码开发效率。新建 index.html 文件，分别引入 bootstrap 的 css 和 Thymeleaf 的命名空间。1.先根据文件 id 查询文件信息，然后根据文件所在路径和文件名获取 file 对象。1.先根据文件 id 查询文件信息，然后根据文件所在路径和文件名获取文件输入流。是一个上传文件的组件，该组件封装了一些上传文件的方法。3.删除数据库中该文件信息。]]></description><category></category></item><item><title><![CDATA[一招给你的log4j2日志穿件”花衣服“]]></title><link>https://blog.csdn.net/java1527/article/details/127207235</link><guid>https://blog.csdn.net/java1527/article/details/127207235</guid><author>java1527</author><pubDate>Sat, 08 Oct 2022 13:41:42 +0800</pubDate><description><![CDATA[大家项目中打印在Console中的日志是什么样的呢？是否都是清一色的黑色字体,如下图所示，这样会导致一些关键日志信息，比如error、warn日志被忽视掉，那有什么办法可以修改Console中日志的样式，让一些关键日志能够显著的被找到？本文讲解了log4j2框架下如何美化你输出的日志，不过这只针对控制台输出的日志起效，文件中的日志并不生效，希望大家都用起来呀。]]></description><category></category></item><item><title><![CDATA[2022年Java核心面试题全解析]]></title><link>https://blog.csdn.net/java1527/article/details/127205287</link><guid>https://blog.csdn.net/java1527/article/details/127205287</guid><author>java1527</author><pubDate>Sat, 08 Oct 2022 11:14:22 +0800</pubDate><description><![CDATA[自动装箱是将一个java定义的基本数据类型赋值给相应封装类的变量。拆箱与装箱是相反的操作，自动拆箱则是将一个封装类的变量赋值给相应基本数据类型的变量。]]></description><category></category></item><item><title><![CDATA[在Tomcat中启用虚拟线程特性]]></title><link>https://blog.csdn.net/java1527/article/details/127203247</link><guid>https://blog.csdn.net/java1527/article/details/127203247</guid><author>java1527</author><pubDate>Sat, 08 Oct 2022 09:46:16 +0800</pubDate><description><![CDATA[趁着国庆前后阅读了虚拟线程相关的源码，写了一篇《虚拟线程 - VirtualThread源码透视》，里面介绍了虚拟线程的实现原理和使用示例。线程池甚至可以设计为一个完全自定义的虚拟线程调度器，可以参考前面一篇文章，这里不再赘述。的线程池是最终调用看到的控制台输出的虚拟线程名称是一个空字符串。实现比较简单，就是在控制台打印一些虚拟线程和载体线程的一些信息，然后返回。还没有适配虚拟线程，主要是没有改造监视器锁的引用导致虚拟线程。）使用的是还是旧的规范，对应的类是。，这只是其中一个接口，大部分和。]]></description><category></category></item><item><title><![CDATA[从SpringBoot启动，阅读源码设计]]></title><link>https://blog.csdn.net/java1527/article/details/127203210</link><guid>https://blog.csdn.net/java1527/article/details/127203210</guid><author>java1527</author><pubDate>Sat, 08 Oct 2022 09:44:42 +0800</pubDate><description><![CDATA[上下文接口抽象实现，核心的API，对应用上下文中的公共能力做了实现；]]></description><category></category></item><item><title><![CDATA[聊一聊作为高并发系统基石之一的缓存，会用很简单，用好才是技术活]]></title><link>https://blog.csdn.net/java1527/article/details/127203174</link><guid>https://blog.csdn.net/java1527/article/details/127203174</guid><author>java1527</author><pubDate>Sat, 08 Oct 2022 09:43:11 +0800</pubDate><description><![CDATA[本篇文章的内容中，我们对缓存的各个方面进行了一个简单的阐述与了解，也可以看出缓存对于一个软件系统的重要价值。通过对缓存的合理、充分利用，可以大大的增强我们的系统承压性能、提升产品的用户体验。缓存作为高并发系统中的神兵利器被广泛使用，堪称高并发系统的基石之一。而缓存的内容还远远不止我们本篇文档中所介绍的这些、它是一个非常宏大的命题。为了能够将缓存的方方面面彻底的讲透、讲全，在接下来的一段时间里，我会以系列专栏的形式，从不同的角度对缓存的方方面面进行探讨。]]></description><category></category></item></channel></rss>