undefined

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
mvn clean compile
mvn clean test
mvn clean package
mvn clean install
1. maven的约定:在项目的根目录放置pom.xml,在 src/main/java目录中放置项目的主代码,在src/test/java中放置项目的测试代码
2. maven定义了一组规则:世界上任何一个构件都可以使用maven坐标唯一标识,maven坐标的元素包括:groupId、artifactId、version、packaging、classifier
groupId: 定义当前maven项目隶属的实际项目。maven项目和实际项目不一定是一对一的关系,一个实际项目往往会被划分成很多模块。groupId不应该对应项目隶属的组织或公司。groupId的表示方式和java包名的表示方式类似,通常与域名反向一一对应
artifactId: 该元素定义实际项目中一个maven项目(模块),推荐的做法是使用实际项目名称作为artifactId的前缀,方便寻找实际构件。默认情况下,maven生成的构件,其文件名会以artifactId作为开头
version: 该元素定义maven项目当前所处的版本
packaging: 该元素定义maven项目的打包方式。打包方式通常与所生成构件的文件扩展名对应。比如packaging为jar,则文件名为xxx.jar,而使用war打包方式的maven项目,最终生成的构件会有一个xxx.war文件,不过这不是绝对的。其次,打包方式会影响到构建的生命周期。当不定义packaging的时候,maven会默认值jar
classifier: 该元素用来帮助定义构建输出的一些附属构件。附属构件与主构件对应,如主构件是nexus-indexer-2.0.0.jar,该项目可能还会通过使用一些插件生成如nexus-indexer-2.0.0.-javadoc.jar、nexus-indexer-2.0.0-sources.jar这样的一些附属构件,其包含了java文档和源代码。javadoc和sources就是这两个附属构件的classifier。注意:不能直接定义项目的classifier,因为附属构件不是项目直接默认生成的,而是由附加的插件帮助生成的
注:groupId、artifactId、version是必须定义的,packaging是可选的(默认为jar),而classifier是不能直接定义的
项目构件的文件名是与坐标相对应的,一般的规则为artifactId-version[-classifier].packaging,[-classifier]表示可选。强调packaging并非一定与构件扩展名对应。
<scope>test</scope>:用来定义依赖范围

3. 依赖的配置
根元素project下的dependencies可以包含一个或者多个dependency元素,以声明一个或者多个项目依赖。每个依赖可以包含的元素有:
(1) groupId、artifactId、version: 依赖的基本坐标,对于任何一个依赖来说,基本坐标是最重要的,maven根据坐标才能找到需要的依赖
(2) type: 依赖的类型,对应于项目坐标定义的packaging。大部分情况该元素不必声明,其默认值为jar
(3) scope: 依赖的范围
(4) optional: 标记依赖是否可选
(5) exclusions: 用来排除传递性依赖
依赖范围

查看更多

undefined

spring概念介绍:https://zhuanlan.zhihu.com/p/133534252

Springboot介绍:https://www.yiibai.com/spring-boot/spring_boot_introduction.html

1. 依赖注入

在代码中,类与类之间的耦合是必须的。通过依赖注入(Dependency Injection),对象的依赖关系将由系统中负责协调对象的第三方组件在创建对象的时候进行设定。对象无需自行创建和管理他们的依赖关系。

如果一个对象只通过接口(而不是具体实现)来表明依赖关系,那么这种依赖就能够在对象本身毫不知情的情况下,用不同的具体实现进行替换。

在 spring 中,可以通过配置 xml,或者通过注解来实现。如下的 xml 配置。

查看更多

undefined

getInstance:voliate syncronized 的区别。指令重排序

https://blog.csdn.net/weixin_30601893/article/details/112715406?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_title~default-0.no_search_link&spm=1001.2101.3001.4242.0

BlockingQueue offer 修改,失败的话,尽早失败。异常尽量不要抛给业务。

startReceive 中 while 循环 可能会消耗cpu多一点

worker bufferFlushExecutor 中队列的长度,现在为5,是否可以设置大一点

查看更多

undefined

https://km.woa.com/group/2804/articles/show/328826?kmref=search&from_page=1&no=5

这两个步骤其实非常清楚,但是还是经常会遇到问题,主要在于插件用不了。针对插件用不了主要是由于插件没有正常获取,一般来说都是maven造成的,目前遇到过两个原因:

  1. 仓库不正确:目前km上的文档都比较老了,当时用的仓库是trm.wsd.com,这个仓库目前已经废弃了,需要改为http://maven.oa.com/nexus/content/groups/wod/,在开发网下使用这个新的仓库可以正常获取到插件.
  2. maven版本:这个问题就比较奇葩了,有的同事用的maven版本特别特别老,导致无法获取(至今只遇到过一个,一时半会儿没有为他解决该同事表示非常暴躁),这种情况可以升级下maven版本重新尝试。
查看更多

undefined

Lua中对于UTF-8字符串的处理
https://blog.csdn.net/linchaolong/article/details/39649791?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control&dist_request_id=d49b4345-4313-418f-967a-a743cd23b5fa&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control

在windows下,用lua转换将gbk转为utf-8
https://blog.csdn.net/sniffer12345/article/details/16359043