草庐IT

springboot+proguard+maven 实现代码混淆 看这一篇就够了

使用proguard混淆代码只能增加阅读和理解的难度,并不能百分百保证代码安全。常用的应用场景是项目需要部署到客户机器上,一定程度上防止代码泄露。proguard简介ProGuard是一个混淆代码的开源项目,它的主要作用是混淆代码,ProGuard包括以下4个功能:压缩(Shrink):检测并移除代码中无用的类、字段、方法和特性(Attribute)优化(Optimize):对字节码进行优化,移除无用的指令混淆(Obfuscate):使用a,b,c,d这样简短而无意义的名称,对类、字段和方法进行重命名预检(Preveirfy):在Java平台上对处理后的代码进行预检,确保加载的class文件是

Java学习路线图,看这一篇就够了!

主要分为三阶段|耗废1024根秀发,Java学习路线图来了,整合了自己所学的所有技术整理出来的2022最新版Java学习路线图,适合于初、中级别的Java程序员。可以按照这个序号来学习的,或者把知识过一遍,建议收藏。阶段一:Java基础——练气筑基此阶段乃根本所在,练气化精,洗毛伐髓,编程筑基。掌握好Java语言最基本最核心的一套库,后面的路才能走得更远,不要怕学得慢,这会让你的基础更牢固。  阶段二:JavaWeb——结丹元婴将知识不断巩固加深,犹如修士将自身真气千锤百炼结成金丹化为元婴进而才能进阶化神。 阶段三:Spring全家桶——化神炼虚推荐尚硅谷雷丰阳老师的SpringBoot,老师

Java学习路线图,看这一篇就够了!

主要分为三阶段|耗废1024根秀发,Java学习路线图来了,整合了自己所学的所有技术整理出来的2022最新版Java学习路线图,适合于初、中级别的Java程序员。可以按照这个序号来学习的,或者把知识过一遍,建议收藏。阶段一:Java基础——练气筑基此阶段乃根本所在,练气化精,洗毛伐髓,编程筑基。掌握好Java语言最基本最核心的一套库,后面的路才能走得更远,不要怕学得慢,这会让你的基础更牢固。  阶段二:JavaWeb——结丹元婴将知识不断巩固加深,犹如修士将自身真气千锤百炼结成金丹化为元婴进而才能进阶化神。 阶段三:Spring全家桶——化神炼虚推荐尚硅谷雷丰阳老师的SpringBoot,老师

C++:友元(看这一篇就够了)

文章目录1全局函数做友元2类做友元3成员函数做友元生活中你的家有客厅(public),有你的卧室(private)客厅所有来的客人都可以进去,但是你的卧室是私有的,也就是说只有你能进去但是呢,你也可以允许隔壁老王进去。在程序里,有些私有属性也想让类外特殊的一些函数或者类进行访问,就需要用到友元的技术友元的目的就是让一个函数或者类访问另一个类中的私有成员友元的关键字为friend友元的三种实现全局函数做友元类做友元成员函数做友元1全局函数做友元首先,我们要定义一个房屋类,公共成员变量为客厅,私有成员变量为卧室classBuilding{ //Building的构造函数,给成员变量赋初值 Buil

C++:友元(看这一篇就够了)

文章目录1全局函数做友元2类做友元3成员函数做友元生活中你的家有客厅(public),有你的卧室(private)客厅所有来的客人都可以进去,但是你的卧室是私有的,也就是说只有你能进去但是呢,你也可以允许隔壁老王进去。在程序里,有些私有属性也想让类外特殊的一些函数或者类进行访问,就需要用到友元的技术友元的目的就是让一个函数或者类访问另一个类中的私有成员友元的关键字为friend友元的三种实现全局函数做友元类做友元成员函数做友元1全局函数做友元首先,我们要定义一个房屋类,公共成员变量为客厅,私有成员变量为卧室classBuilding{ //Building的构造函数,给成员变量赋初值 Buil

Java迭代器详解,看这一篇就够了

文章目录🚩Java迭代器详解📚迭代器的定义📒认识Iterator✏️类结构图✒️Iterable接口🖍️Iterator接口📃Iterator接口的方法📙迭代器的使用🏷️使用迭代器遍历集合🔖Itertor的执行原理⏳图示执行过程⌛执行过程详解🃏生成迭代器的快捷键📕迭代器中的remove()⛄迭代器的remove()方法使用☃️迭代器遍历中调用集合revome()方法触发异常📗增强for循环📫认识增强for循环📪基本语法📬增强for循环的使用📭增强for循环的快捷键🚩Java迭代器详解📚迭代器的定义迭代器是属于设计模式之一,迭代器模式提供了一种方法来顺序访问一个聚合对象中各个元素,而不保留该对象

Java迭代器详解,看这一篇就够了

文章目录🚩Java迭代器详解📚迭代器的定义📒认识Iterator✏️类结构图✒️Iterable接口🖍️Iterator接口📃Iterator接口的方法📙迭代器的使用🏷️使用迭代器遍历集合🔖Itertor的执行原理⏳图示执行过程⌛执行过程详解🃏生成迭代器的快捷键📕迭代器中的remove()⛄迭代器的remove()方法使用☃️迭代器遍历中调用集合revome()方法触发异常📗增强for循环📫认识增强for循环📪基本语法📬增强for循环的使用📭增强for循环的快捷键🚩Java迭代器详解📚迭代器的定义迭代器是属于设计模式之一,迭代器模式提供了一种方法来顺序访问一个聚合对象中各个元素,而不保留该对象

Hexo——看这一篇就够了

目录Bayi使用的软件版本:Hexo是什么在此之前Node.js许可协议选择安装地址选择安装组件安装检查安装更改全局模块所在路径和缓存路径地址Git下载并打开Git安装包选择安装路径选择安装组件选择开始菜单文件夹名称选择Git默认编辑器决定初始化新项目(仓库)的主干名字Path调整选择HTTPS传输配置行尾符号转换配置终端模拟器以与GitBash一起使用选择默认的“gitpull”行为选择一个凭证帮助程序配置额外的选项配置实验性选项GitHub安装Hexo初始化项目创建项目安装依赖更改.gitignore文件创建静态文件个性化更改根目录的_config.yml文件更改主题配置主题评论插件关于页

Hexo——看这一篇就够了

目录Bayi使用的软件版本:Hexo是什么在此之前Node.js许可协议选择安装地址选择安装组件安装检查安装更改全局模块所在路径和缓存路径地址Git下载并打开Git安装包选择安装路径选择安装组件选择开始菜单文件夹名称选择Git默认编辑器决定初始化新项目(仓库)的主干名字Path调整选择HTTPS传输配置行尾符号转换配置终端模拟器以与GitBash一起使用选择默认的“gitpull”行为选择一个凭证帮助程序配置额外的选项配置实验性选项GitHub安装Hexo初始化项目创建项目安装依赖更改.gitignore文件创建静态文件个性化更改根目录的_config.yml文件更改主题配置主题评论插件关于页

logback教程logback快速入门超实用详细教程收藏这一篇就够了(万字长文)

目录logback基本概念与语法日志级别测试日志级别默认日志级别修改日志级别参数化日志形式好处日志级别的继承性配置文件加载顺序配置文件语法基本结构关于标签大小写SimpleDateFormat约定logger标签root标签appender标签filter标签encoder标签日志颜色contextName标签timestamp标签变量定义归档日志文件命名%d、%ispringProfile多环境配置常用AppenderOutputStreamAppenderConsoleAppenderFileAppenderRollingFileAppenderRollingFileAppender滚动策