- 博客(24)
- 资源 (14)
- 问答 (2)
- 收藏
- 关注
原创 一方库、二方库、三方库 概念
一方库:本工程中的各模块的相互依赖二方库:公司内部的依赖库,一般指公司内部的其他项目发布的jar包三方库:公司之外的开源库, 比如apache、ibm、google等发布的依赖
2021-10-31 07:46:44 2665
原创 Java 魔法值 概念
所谓魔法值,是指在代码中直接出现的数值,只有在这个数值记述的那部分代码中才能明确了解其含义。int [] array = new int[20]; for (int i = 0; i < 20; i++){ System.out.print(array[i]);}上述例子中,如果数组的声明与for循环相隔比较远,就很难知道 for循环里面的控制条件 i < 20 中 20 具体含义是什么。它是数组的长度呢,还是根据需求定义的界限值呢?就搞不清楚。 魔法数值使代码的可读
2021-10-31 07:39:40 1179
原创 IDEA 显示SpringBoot面板的方法
如果是多模块的微服务,idea提供了一个可以多服务启动的界面services,如果你的项目里没看到这个界面:那么你需要在顶级的maven工程中找到这个配置,然后找到component name="RunDashboard"这个节点整个替换掉(如果原来没有就视为添加):<component name="RunDashboard"> <option name="configurationTypes"> <set> ..
2021-10-30 21:53:35 2050 1
原创 Linux安装程序目录
Linux的软件安装目录是也是有讲究的,理解这一点,在对系统管理是有益的/usr:系统级的目录,可以理解为C:/Windows/,/usr/lib理解为C:/Windows/System32。/usr/local:用户级的程序目录,可以理解为C:/Progrem Files/。用户自己编译的软件默认会安装到这个目录下。/opt:用户级的程序目录,可以理解为D:/Software,opt有可选的意思,这里可以用于放置第三方大型软件(或游戏),当你不需要时,直接rm -rf掉即可。在硬盘容量不够时,也可将.
2021-10-30 18:53:07 2610 1
原创 POST 四种常见的Content-Type
HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT 这几种。其中 POST 一般用来向服务端提交数据,本文主要讨论 POST 提交数据的几种方式。我们知道,HTTP 协议是以 ASCII 码传输,建立在 TCP/IP 协议之上的应用层规范。规范把 HTTP 请求分为三个部分:状态行、请求头、消息主体。类似于下面这样: <method> <request-URL> <ver
2021-10-25 18:15:22 680
原创 IDEA 书签使用
1.创建书签在你想要创建书签的地方,按F11键,那个地方就会出现一个对号,这就创建了一个书签。如果你想对这个书签做一个特殊的标记,IDEA也是支持的,同时按Ctrl +F11,会出现如下的界面,这个叫做“书签助记符”。如果你点击A,那么书签就会变成下图那样,而不是一个对号。也有快速添加助记符书签的快捷键,Ctrl + shift + 数字键。注意,这个快捷键只支持0-9十个数字助记符书签的快速添加。2.编辑书签创建了书签之后,按shift + F11可以查看全部已存在的书签。
2021-10-24 15:05:01 10602 1
原创 1分钟看懂:java 项目中 VO 、DTO、Entity,各自是在什么情况下应用的
1、entity 里的每一个字段,与数据库相对应,2、vo 里的每一个字段,是和你前台 html 页面相对应,3、dto 这是用来转换从 entity 到 vo,或者从 vo 到 entity 的中间的东西 。举个例子:你的html页面上有三个字段,name,pass,age你的数据库表里,有两个字段,name,pass , 注意没有 age。而你的 vo 里,就应该有下面三个成员变量 ,因为对应 html 页面上三个字段 。private string name;priv
2021-10-24 11:26:34 2182 1
原创 DO,DTO,VO,POJO 你知道吗?
为什么会出现这些 O?我们知道,这些 O 不管叫什么名字,其本质都还是对象(Object),既然本质都一样,为什么非要给他们套上各种马甲?个人认为原因有三:第一,随着编程工业化的发展,需要有一套合理的体系出现。中国人喜欢造神,外国人喜欢造概念,于是 MVC、MVP、MVVM 等编程模型就出现了,为了搭配这些编程模型的使用,需要对 Object 的功能进行划分,于是我们便看到了这些层出不穷的 Object。当然这里并没有批评这些概念的意思。其二,我认为在团队协作编码中,一个好的命名方式是可以节约很多时间成
2021-10-24 11:23:20 368
原创 Java成员变量和局部变量
成员变量和局部变量根据定义变量位置的不同,可以将变量分为成员变量和局部变量 成员变量是在类范围内定义的变量 局部变量是在一个方法内定义的变量成员变量可以分为: 实例属性 (不用static修饰) 随着实例属性的存在而存在 类属性 (static修饰) 随着类的存在而存在成员变量无需显式初始化,系统会自动对其进行默认初始化局部变量可分为: ...
2021-10-21 07:22:13 1616
原创 天天工作拧螺丝,怎么突破瓶颈?
以技术人员为例,技术人员典型的发展路径基本上都是下面的这个模式:1)0 ~ 1 年:菜鸟,需要别人手把手来教2)1 ~ 3 年:初级,需要别人带你做3)3 ~ 5 年:高级,能独当一面,可以带初级技术人员了4)5 ~ 8 年:资深,能独挡多面5)8 ~ 10 年:大牛,统筹规划,高屋建瓴可以看到技术进阶就是个不断突破瓶颈的过程。那些成就斐然的牛人,不是因为比我们聪明,而是他们会做减法。为坚持一件重要的东西,放弃了非重要东西。抓住了重点。也解决了当下的问题。如果说工作是为了解决实际中的问题
2021-10-17 07:51:24 237
原创 Jackson 指定序列化顺序
方法1:类加上注解JsonPropertyOrder,里面按需要指定的顺序写上字段@JsonPropertyOrder({"firstname", "lastname", "birthday"})方法2:方法加上注解JsonProperty,通过value指定顺序(数字越小越靠前)@Data@JsonInclude(JsonInclude.Include.NON_NULL)public class Nc { /** * 播报方式 */ @JsonP.
2021-10-14 17:58:33 5273 1
原创 Gson按指定字段顺序序列化
需要输入的实体示例如下:/** * 云打印请求参数 */@Datapublic class YiRuiPrintResParam extends YiRuiCommonResParam implements Serializable { private String deviceName; private String token; private String transNo; private Integer type; private Nc nc;
2021-10-13 14:35:21 3326 1
原创 设计模式原则之一:开闭原则
定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。问题由来:在软件的生命周期内,因为变化、升级和维护等原因需要对软件原有代码进行修改时,可能会给旧代码中引入错误,也可能会使我们不得不对整个功能进行重构,并且需要原有代码经过重新测试。解决方案:当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化。 开闭原则是面向对象设计中最基础的设计原则,它指导我们如何建立稳定灵活的系统。开闭原则可能是设计模式六项原则中定义最模糊的一个了,它只告诉...
2021-10-10 16:05:08 227
原创 如何学好设计模式
什么是设计模式设计模式( Design Pattern )代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长一段时间的试验和错误总结出来的。上面的解释来自于网络,是比较标准的定义,可以从中筛选出几个关键字来帮助我们理解什么是设计模式:最佳实践 解决方案 试验和错误总结从上面的三个关键词中可以总结出,设计模式就是在针对编码过程中遇到的问题总结出来的最佳解决方案。那么这些问题
2021-10-10 11:20:57 1164
原创 Spring 设值注入(set)和构造器注入的区别
Spring种提供了2种常用的注入方式,set方法注入和构造函数注入。由于这2种注入方式很相似,都可以满足我们的需求,所以在大多数情况下我们忽视了这2种注入方式的区别。下面让我们看看这2种注入方式的特点。目录一、设值注入(set)二、构造器注入三、总结一、设值注入(set)我们先看看Spring在使用set方法注入时,是怎样实例化一个Bean和Bean的合作者的:在A中有一个setB方法用来接收B对象的实例。那么Spring实...
2021-10-10 10:05:29 3243 2
原创 如何学习与正确运用设计模式
无论是前端,还是后端,设计模式都很重要。一、什么是设计模式设计模式就是为了解决过去项目中经常遇到的问题而提炼出来的解决问题的方案。如果你还是很那理解的话,你可以去网上查一下资料,多查几个答案,从不同角度去理解。二、有哪些常用的设计模式建议找一本书静下心来好好看看,比如 Head First 设计模式,一定要看完,最好看两遍,因为每次看你都会有不同的理解,不用去记设计模式,去理解就好了。三、设计模式的核心:可扩展性设计模式的核心是让代码具有可扩展性。可扩展性又可以分为自己扩展自己
2021-10-10 09:19:08 283
原创 Java public protected default private 详解
class之间的关系做一个简单的定义:对于继承自己的class,可以认为他们都是自己的子女,而对于和自己一个目录下的classes,认为都是自己的朋友。继承自己的class - 子女本包中的class - 朋友public公开;可以被所有其他类所访问。private - 本类访问私有;只能被自己访问和修改。protected - 子女、朋友可以访问保护;自身、子类及同一个包中类可以访问。friendly(default)- 几乎不用默认:同一包中的类可以访问,声明时没有加修饰符
2021-10-10 07:32:08 257
原创 SpringBoot 属性注入的四种方式
springboot属性注入1.前言:介绍以前spring中配置java配置主要靠java类和一些注解来达到和xml配置一样的效果,比较常用的注解有:@Configuration:声明一个类作为配置类,代替xml文件@Bean:声明在方法上,将方法的返回值加入Bean容器,代替<bean>标签@Value:属性注入@PropertySource:指定外部属性文件。在类上添加@PropertySource("classpath:/jdbc.properties")我们接下来用以前
2021-10-09 08:31:34 4661
原创 Fat Jar 是什么意思?
在java中,通常将应用程序及其依赖jar一起打包到一个独立的jar中,就叫fat jar,它也叫uberJar。springboot的打包方式就是这样,将应用程序代码打包到BOOT-INF.classes,将依赖包打包到BOOT-INF.lib目录,以下是springboot的jar包的目录结构(目录生成命令是tree,没有的话可以自己安装哈):├── BOOT-INF│ ├── classes│ │ ├── application.properties│ │ └── co
2021-10-08 08:17:24 761
原创 设计模式分类(创建型模式、结构型模式、行为型模式 及其区别)
1.创建型模式前面讲过,社会化的分工越来越细,自然在软件设计方面也是如此,因此对象的创建和对象的使用分开也就成为了必然趋势。因为对象的创建会消耗掉系统的很多资源,所以单独对对象的创建进行研究,从而能够高效地创建对象就是创建型模式要探讨的问题。这里有6个具体的创建型模式可供研究,它们分别是:简单工厂模式(Simple Factory)工厂方法模式(Factory Method)抽象工厂模式(Abstract Factory)创建者模式(Builder)原型模式(Prototype)单例模式(S
2021-10-07 21:39:54 2029
原创 设计模式中的创建型、结构型、行为型有什么区别和联系?
创建型模式:创建型模式,就是创建对象的模式,抽象了实例化的过程。它帮助一个系统独立于如何创建、组合和表示它的那些对象。关注的是对象的创建,创建型模式将创建对象的过程进行了抽象,也可以理解为将创建对象的过程进行了封装,作为客户程序仅仅需要去使用对象,而不再关心创建对象过程中的逻辑创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。行为型模式:行为型模式是对在不同的对象之间划分责任和算法的抽象化,行为型模式不仅仅关注类和对象的结构,而且重点关注他们之间的相互作用,..
2021-10-07 21:38:00 1919
原创 程序员的饮食应该如何安排
程序员的饮食应该如何安排——高蛋白食品抗辐射,动物肝脏和新鲜蔬果保护眼睛,富含钾、氨基酸等元素的食品健脑。如今,电脑越来越普及,许多人不仅在单位使用,家里也安装了电脑,由于操作时间不断延长,一些疾病也随之而来。日前,室内设计师张先生因为每天与电脑为伍十几个小时而肩酸背痛,眼睛酸肿,动不动就感冒,咨询了一些医生后,他得到了一张“菜单”,医生告诉他,只要合理安排一日三餐,身体状况将大大改善。这份特殊的菜单是这样的,早餐应吃营养充分,有足够热量的食物,能保证旺盛的精力。高蛋白食品:抗辐射中餐多吃蛋白质
2021-10-04 15:06:14 924
原创 Java中打印对象内存地址
java是获取不到对象的地址的,但是你可以获取hashcode,对象的hashcode在某种意义上就相当于对象的地址了,hashCode是用来在散列存储结构中确定对象的存储地址的。既然Java中对象内存地址不能获取到,所以这篇文章就应该变为“Java中如何获取对象的真实hashCode,而不受hashCode()方法被覆盖的影响”,接着下文:Object的hashCode()默认是返回内存地址的,但是hashCode()可以重写,所以hashCode()不能代表内存地址的不同System
2021-10-03 17:32:09 6349
49个过程ITTO汇总(PMBOK第六版).xlsx
2020-06-07
修改WIN10控制台编码为UTF-8和恢复为ANSI简体中文
2019-03-17
修改WIN10控制台编码为UTF-8
2019-03-17
Excel中项目开发计划的日期编排公式技巧
2018-11-03
SpringBoot入门必学项目源码
2018-01-20
C++语言基础.doc
2008-10-26
求好用的GIT GUI工具替代IDEA
2021-09-18
家里如何访问公司内网?
2021-01-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人