<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[猿脑2.0的博客]]></title><description><![CDATA[记录下技术点滴]]></description><link>https://blog.csdn.net/qq_36083245</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; qq_36083245]]></copyright><item><title><![CDATA[JAVA新手容易忽略的SQL注入漏洞]]></title><link>https://blog.csdn.net/qq_36083245/article/details/149160250</link><guid>https://blog.csdn.net/qq_36083245/article/details/149160250</guid><author>qq_36083245</author><pubDate>Sun, 06 Jul 2025 23:30:12 +0800</pubDate><description><![CDATA[这是一个登陆接口，使用自定义的sql, 原理是使用Statement对象执行查询操作。// 用户登录验证（存在SQL注入）// 若查询到记录则登录成功根据上面的登陆场景，想必你已经对sql注入有了基础的了解，它是一种通过恶意构造输入参数，欺骗后端数据库执行非法SQL代码的攻击手段。随着互联网的发展，SQL注入攻击在过去二十年中一直是导致数据泄露的主要原因之一，因此了解并预防SQL注入对保护信息安全至关重要。本文主要讲解了SQL注入攻击的一些原理和场景案例，以及日常开发中的用法。]]></description><category></category></item><item><title><![CDATA[java代码审计入门后，怎么继续升级打怪]]></title><link>https://blog.csdn.net/qq_36083245/article/details/148493788</link><guid>https://blog.csdn.net/qq_36083245/article/details/148493788</guid><author>qq_36083245</author><pubDate>Sat, 07 Jun 2025 14:37:02 +0800</pubDate><description><![CDATA[核心是一个java技术专家，学点java代码审计，然后横向拓展，提升自我竞争力，懂点管理、懂点产品，懂点市场，懂点行业。链接更多的人和资源，咏春和太极，现阶段更喜欢咏春，无心插柳难成荫，有心插花花才开，总之一切皆有可能，生命不息，折腾不止。]]></description><category></category></item><item><title><![CDATA[初步认识网络安全行业市场和发展]]></title><link>https://blog.csdn.net/qq_36083245/article/details/148493016</link><guid>https://blog.csdn.net/qq_36083245/article/details/148493016</guid><author>qq_36083245</author><pubDate>Sat, 07 Jun 2025 12:24:17 +0800</pubDate><description><![CDATA[由于网络安全行业和IT投入直接相关，IT投入可预期将持续增长，而且，在政策及安全事件的驱动下，占总的IT投入比重有望提升，因此，从长期来看，这是一个市场空间长期向上的行业。从头部安全上市公司，基本可以看出行业和经济情况，目前看起来政务数字化转型发展放缓，随着AI和加密货币的发展，AI安全、量子加密、深度伪造检测技术将会成为热点，常态化的网络安全需求仍然存在，为了避免内卷，可能需要部分企业并购重组。另外提下，很多央国企公司内部购买的安全产品中看不中用，只做表面文章，为什么要频繁更换采购产品，你懂的。]]></description><category></category></item><item><title><![CDATA[动手审计第一个java项目和思考]]></title><link>https://blog.csdn.net/qq_36083245/article/details/148459965</link><guid>https://blog.csdn.net/qq_36083245/article/details/148459965</guid><author>qq_36083245</author><pubDate>Thu, 05 Jun 2025 22:33:26 +0800</pubDate><description><![CDATA[白盒java 代码审计，相对来说比较简单，因为敌人已经暴露了自己，知己知彼，运用OWASP TOP10 基本可以找出大部分漏洞，包括借鉴公开漏洞库、开源社区发现的已知漏洞，那么，如果没有源码，给你一个web网站地址，怎么去发现系统漏洞呢？是不是难度更上了一层楼。]]></description><category></category></item><item><title><![CDATA[java代码审计入门总结和思考]]></title><link>https://blog.csdn.net/qq_36083245/article/details/148458376</link><guid>https://blog.csdn.net/qq_36083245/article/details/148458376</guid><author>qq_36083245</author><pubDate>Thu, 05 Jun 2025 22:06:19 +0800</pubDate><description><![CDATA[通过了解常见的漏洞类型和分类、漏洞库查询平台，开发人员会对漏洞有个基础的了解，知道漏洞如何产生的，带着防守的视角去看看自己代码，可能会有不一样的收获，也可以带着一种破坏心态去看代码有什么漏洞，不局限于微服务代码，可以是web服务，第三方组件、虚拟机、云服务、容器，机器，设备、总之漏洞无处不在，发现漏洞可以获利，如黑客，修复漏洞也可以获利，如白客，你是喜欢白客还是黑客呢？不管白客还是黑客，都需要对网络世界有深入了解，知己知彼，攻无不克，作为开发人员，做大防守兼备即可。]]></description><category></category></item><item><title><![CDATA[为什么不建议你滥用AI提问]]></title><link>https://blog.csdn.net/qq_36083245/article/details/145335068</link><guid>https://blog.csdn.net/qq_36083245/article/details/145335068</guid><author>qq_36083245</author><pubDate>Fri, 24 Jan 2025 09:32:49 +0800</pubDate><description><![CDATA[您此刻的警觉恰是建立健康关系的起点。记住：真正的智能永远在人与技术的动态平衡中生长。让我们共同守护那份使人之所以为人的珍贵特质——在不确定中保持清醒，在依赖中坚守独立。理想依赖比=（AI处理事务耗时）/(总事务耗时) ≤ 30%超过阈值时启动数字戒断程序。]]></description><category></category></item><item><title><![CDATA[前端程序员会被 AI 取代吗？]]></title><link>https://blog.csdn.net/qq_36083245/article/details/145251417</link><guid>https://blog.csdn.net/qq_36083245/article/details/145251417</guid><author>qq_36083245</author><pubDate>Mon, 20 Jan 2025 07:46:16 +0800</pubDate><description><![CDATA[AI的快速发展引发了人们对职业未来的担忧，前端程序员也不例外。本文将结合全球视角和数据，分析AI对前端程序员岗位的影响。AI将对前端开发行业带来深远影响，但并非完全取代。前端程序员需要积极拥抱变化，提升自身技能，才能在AI时代立于不败之地。以上分析和数据仅供参考，实际情况可能因多种因素而有所不同。__来自deepseek。]]></description><category></category></item><item><title><![CDATA[大龄剩猿的2025年度总结]]></title><link>https://blog.csdn.net/qq_36083245/article/details/145251301</link><guid>https://blog.csdn.net/qq_36083245/article/details/145251301</guid><author>qq_36083245</author><pubDate>Mon, 20 Jan 2025 07:25:17 +0800</pubDate><description><![CDATA[2025年，我用行动践行这些关键词，在变化中锚定方向，努力创造属于自己的未来。我相信，只要坚持复盘、保持全局观、践行复利思维、苦练基本功、架构人生、选择难而正确的事情、学习经济学、依靠团队、低成本试错、拥抱变化，就一定能够在未来的道路上走得更稳、更远。2026年，我将继续以这些关键词为指引，在变化的世界中，创造属于自己的未来。___来自deepseek.]]></description><category></category></item><item><title><![CDATA[自定义过滤器链]]></title><link>https://blog.csdn.net/qq_36083245/article/details/144496828</link><guid>https://blog.csdn.net/qq_36083245/article/details/144496828</guid><author>qq_36083245</author><pubDate>Mon, 16 Dec 2024 08:11:30 +0800</pubDate><description><![CDATA[在实际应用中，过滤器链的管理和调用是由Servlet容器（如Tomcat）负责的。而自定义过滤器链则是指将多个过滤器按照特定的顺序组织起来，使得请求和响应能够依次通过这些过滤器。虽然ServletAPI本身不提供直接管理过滤器链的API，但你可以通过编程方式和配置来实现自定义的过滤器链。不过，如果你需要更复杂的过滤器链管理（例如，动态添加或移除过滤器），你可能需要实现一个自定义的FilterChain。虽然ServletAPI本身不提供直接管理过滤器链的API，但你可以通过编程方式控制过滤器的执行顺序。]]></description><category></category></item><item><title><![CDATA[aop感悟]]></title><link>https://blog.csdn.net/qq_36083245/article/details/144414942</link><guid>https://blog.csdn.net/qq_36083245/article/details/144414942</guid><author>qq_36083245</author><pubDate>Thu, 12 Dec 2024 08:16:22 +0800</pubDate><description><![CDATA[想象一下，你是一名外科医生（https://baike.baidu.com/item/%E5%A4%96%E7%A7%91%E5%8C%BB%E7%94%9F/6462205），正在进行一台复杂的手术。然后，在需要的时候，它会把这些切面“织入”到业务逻辑中，就像外科医生（https://baike.baidu.com/item/%E5%A4%96%E7%A7%91%E5%8C%BB%E7%94%9F/6462205）在手术过程中进行消毒、麻醉和缝合等操作一样。比如，日志记录、事务管理、权限验证等。]]></description><category></category></item><item><title><![CDATA[springboot启动过程感悟]]></title><link>https://blog.csdn.net/qq_36083245/article/details/144414879</link><guid>https://blog.csdn.net/qq_36083245/article/details/144414879</guid><author>qq_36083245</author><pubDate>Thu, 12 Dec 2024 08:10:16 +0800</pubDate><description><![CDATA[同时，如果这是一个Web应用程序的话，嵌入式服务器（如Tomcat）也会被启动起来，它就像是演出的灯光和音响师，为演出提供了必要的支持和保障。这个上下文就像是演出的舞台，所有的演员（Bean）都会在这个舞台上展示自己的才华。当演出结束时（即应用程序停止运行时），它们会进行一系列的收尾工作，确保舞台的整洁和演员的退场。首先，Spring Boot应用程序的启动是从main方法开始的，这个方法就像一个指挥官，它挥舞着指挥棒，召唤着Spring Boot的核心类——SpringApplication。]]></description><category></category></item><item><title><![CDATA[JDK中的三种IO模型]]></title><link>https://blog.csdn.net/qq_36083245/article/details/144389415</link><guid>https://blog.csdn.net/qq_36083245/article/details/144389415</guid><author>qq_36083245</author><pubDate>Wed, 11 Dec 2024 08:49:47 +0800</pubDate><description><![CDATA[这个线程会一直阻塞，直到完成数据的读写操作。BIO模型实现简单，但性能较低，因为当客户端并发访问量增加时，服务器的线程数量会随之增加，从而消耗大量的系统资源。JDK源码中的网络编程部分是一个非常重要且复杂的领域，它涵盖了BIO（Blocking I/O，同步阻塞I/O）、NIO（Non-blocking I/O，非阻塞I/O）以及AIO（Asynchronous I/O，异步I/O）等多种I/O模型。在AIO模型中，I/O操作是异步的，即当一个I/O操作发起后，不会阻塞当前线程，而是由操作系统在后台完成。]]></description><category></category></item><item><title><![CDATA[JDK源码中的SQL核心类和作用]]></title><link>https://blog.csdn.net/qq_36083245/article/details/144389262</link><guid>https://blog.csdn.net/qq_36083245/article/details/144389262</guid><author>qq_36083245</author><pubDate>Wed, 11 Dec 2024 08:44:18 +0800</pubDate><description><![CDATA[这个包包含了处理数据库连接的类（如Connection、DriverManager）、执行SQL语句的类（如Statement、PreparedStatement）以及处理查询结果的类（如ResultSet）。你需要理解它们的区别（如PreparedStatement可以预编译SQL语句并设置参数），以及它们是如何执行SQL语句并返回结果的。通过阅读和理解JDK源码中的SQL部分，可以更深入地了解JDBC的工作原理和数据库连接的细节。你需要分清哪些是主要的、哪些是次要的，以便更好地理解核心逻辑。]]></description><category></category></item><item><title><![CDATA[JDK核心包的设计思想]]></title><link>https://blog.csdn.net/qq_36083245/article/details/144389107</link><guid>https://blog.csdn.net/qq_36083245/article/details/144389107</guid><author>qq_36083245</author><pubDate>Wed, 11 Dec 2024 08:35:15 +0800</pubDate><description><![CDATA[丰富的类库支持：JDK核心包提供了大量的预定义类和接口，涵盖了Java程序开发的各个方面。这些类库不仅简化了开发过程，还提高了代码的可重用性和可维护性。综上所述，JDK核心包的设计思想体现了Java语言的跨平台性、面向对象、安全性、高效性、丰富的类库支持、模块化以及持续更新和优化等特点。这些设计思想使得JDK成为Java开发者不可或缺的工具之一，为Java程序的编写、编译、运行和调试提供了强大的支持。这种设计提高了代码的模块化程度和可维护性，同时支持按需加载和卸载模块，减少了应用程序的启动时间和内存占用。]]></description><category></category></item><item><title><![CDATA[SpEL表达式使用场景]]></title><link>https://blog.csdn.net/qq_36083245/article/details/143960184</link><guid>https://blog.csdn.net/qq_36083245/article/details/143960184</guid><author>qq_36083245</author><pubDate>Fri, 22 Nov 2024 08:19:27 +0800</pubDate><description><![CDATA[这些示例展示了SpEL在不同场景下的应用，包括字面量表达式、属性访问、方法调用、集合操作、条件表达式、变量引用、类型转换以及在注解中使用SpEL表达式等。在上面的示例中，@LockKey注解中的#user.username就是一个SpEL表达式，它会在运行时被解析为传入someMethod方法的SysUser对象的username属性。]]></description><category></category></item><item><title><![CDATA[Netty线程模型理解]]></title><link>https://blog.csdn.net/qq_36083245/article/details/143960075</link><guid>https://blog.csdn.net/qq_36083245/article/details/143960075</guid><author>qq_36083245</author><pubDate>Fri, 22 Nov 2024 08:01:45 +0800</pubDate><description><![CDATA[• EventLoopGroup包含多个EventLoop，Boss是主Reactor，Worker是从Reactor，它们分别使用不同的EventLoopGroup。• 一个Acceptor线程负责监听客户端的连接，而一个NIO线程池负责具体处理accept、read、decode等事件。• 缺点：无法发挥CPU多核的效率，容易遇到性能瓶颈，且线程终止会导致整个系统模块无法使用。Netty的线程模型通过不同的Reactor配置，实现了对高并发、高性能网络应用的支持。• 缺点：编程复杂度较高。]]></description><category></category></item><item><title><![CDATA[nginx线程模型理解]]></title><link>https://blog.csdn.net/qq_36083245/article/details/143960034</link><guid>https://blog.csdn.net/qq_36083245/article/details/143960034</guid><author>qq_36083245</author><pubDate>Fri, 22 Nov 2024 07:51:49 +0800</pubDate><description><![CDATA[当worker进程需要处理大量I/O密集型任务时（如磁盘读写、网络通信等），它可以将这些任务交给线程池来处理，线程池中的线程会并发地执行这些任务，从而提高处理效率。在非阻塞模式下，当worker进程需要等待I/O操作时（如等待上游服务器的响应），它不会阻塞当前线程，而是可以处理其他请求。每个worker进程都是独立的，它们之间不会共享内存或状态信息，从而实现了请求的隔离和处理的高并发性。• master进程：负责读取和验证Nginx的配置文件，管理工作进程（如启动、停止、重启等），以及处理外部信号。]]></description><category></category></item><item><title><![CDATA[unity中的渲染管线类型和区别]]></title><link>https://blog.csdn.net/qq_36083245/article/details/143842785</link><guid>https://blog.csdn.net/qq_36083245/article/details/143842785</guid><author>qq_36083245</author><pubDate>Mon, 18 Nov 2024 08:06:47 +0800</pubDate><description><![CDATA[• 利用基于物理的光照技术、线性光照、HDR光照等，提供必要的工具来创建符合高图形标准的游戏、技术演示、动画等应用。综上所述，三种渲染管线各有特点，开发者可以根据项目的具体需求和目标平台来选择合适的渲染管线。• 由于轻量级的特性，在渲染质量上相对较低，无法实现内置管线中的一些高级渲染效果。• 是Unity在2019年推出的一种轻量级渲染管线，是对内置管线的改进和优化。• 提供了更多的渲染选项和高级设置，具有更高的自由度来创建复杂的光照场景和材质。• 是Unity的默认渲染管线，具有有限的自定义选项。]]></description><category></category></item><item><title><![CDATA[渲染管线介绍]]></title><link>https://blog.csdn.net/qq_36083245/article/details/143842758</link><guid>https://blog.csdn.net/qq_36083245/article/details/143842758</guid><author>qq_36083245</author><pubDate>Mon, 18 Nov 2024 08:02:14 +0800</pubDate><description><![CDATA[然而，显卡性能并不仅仅取决于渲染管线的数量，还取决于显示核心架构、渲染管线的执行效率、顶点着色单元的数量以及显卡的核心频率和显存频率等方面。不同的渲染管线具有不同的特性和性能表现，开发者可以根据项目的需求选择合适的渲染管线进行开发。在某种程度上，可以把渲染管线比喻为工厂里面的生产流水线，工厂里的生产流水线是为了提高产品的生产能力和效率，而渲染管线则是提高显卡的工作能力和效率。随着图形技术的不断发展，渲染管线也将继续演进和完善，为未来的游戏和图形应用提供更加高效和强大的渲染能力。三、渲染管线的数量与性能。]]></description><category></category></item><item><title><![CDATA[3D文件格式转换服务]]></title><link>https://blog.csdn.net/qq_36083245/article/details/143785064</link><guid>https://blog.csdn.net/qq_36083245/article/details/143785064</guid><author>qq_36083245</author><pubDate>Fri, 15 Nov 2024 08:15:46 +0800</pubDate><description><![CDATA[这种服务在工程、设计、动画制作等领域中非常常见，因为不同的软件和平台可能支持不同的3D文件格式。专业转换软件：如HOOPS Exchange等，这些软件通常支持更多的3D文件格式，具有更高的转换质量和精度。通过选择合适的转换方式和服务提供商，用户可以轻松实现不同3D文件格式之间的转换，以满足不同的应用需求。在线转换工具：如3DConvert等在线平台，用户只需上传需要转换的3D文件，选择目标格式，即可进行转换。转换质量：评估转换服务的转换质量，包括模型的几何精度、颜色、材质等属性的保留情况。]]></description><category></category></item></channel></rss>