遨游死神文章列表

JAVA部署在TOMCAT的时候不解压WAR包

第一找到配置文件 进入tomcat/conf下拷出server.xml
然后如下 配置

<Host appBase="/www/wwwroot/项目路径" autoDeploy="true" name="项目名"  unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false">
<Context crossContext="true" docBase="/www/wwwroot/项目路径" path="" reloadable="true" />
</Host>

the content must be served over HTTPS 解决方案一

Mixed Content: The page at 'xxx' was loaded over HTTPS, but requested an insecure resource 'xxx'. This request has been blocked; the content must be served over HTTPS.

出现这个的情况一般就是http地址没修改,或配置CDN后出现的结果,很多清空可以通过NGINX或者其他方式解决,但是实在没办法就应用以下方案
解决办法:

页面的head中加入:

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">

意思是自动将http的不安全请求升级为https,这个必须你确定你的可以升级的http地址都支持SSL,不然肯定报错

[Java] Lombok使用方法

官方介绍:Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.
Never write another getter or equals method again, with one annotation your class has a fully featured builder, Automate your logging variables, and much more.

大意:永远不要再编写另一个getter或equals方法,通过一个注释,类就有了一个功能齐全的生成器,自动化日志记录变量等。

1.Lombok的使用,介绍了几个常用的注解

@Getter / @Setter
可以作用在类上和属性上,放在类上,会对所有的非静态(non-static)属性生成Getter/Setter方法,放在属性上,会对该属性生成Getter/Setter方法。并可以指定Getter/Setter方法的访问级别。
@EqualsAndHashCode
默认情况下,会使用所有非瞬态(non-transient)和非静态(non-static)字段来生成equals和hascode方法,也可以指定具体使用哪些属性。
@ToString
生成toString方法,默认情况下,会输出类名、所有属性,属性会按照顺序输出,以逗号分割。
@NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor
无参构造器、部分参数构造器、全参构造器,当我们需要重载多个构造器的时候,Lombok就无能为力了。
@Data:包含@ToString, @EqualsAndHashCode, 所有属性的@Getter, 所有non-final属性的@Setter和@RequiredArgsConstructor的组合,通常情况下,基本上使用这些注解就足够了。
更多的请参见: https://projectlombok.org/features/all

直接翻译官方的

val
最后!无忧无虑的最终局部变量。

var
性情不定地!无忧无虑的局部变量。

@NonNull
或者:我学会了如何停止担心并喜欢NullPointerException。

@Cleanup
自动资源管理:close()安全地调用您的方法,没有麻烦。

@Getter/@Setter
永远不要再写public int getFoo() {return foo;}了。

@ToString
无需启动调试器即可查看您的字段:只需让lombok toString为您生成一个!

@EqualsAndHashCode
平等变得简单:从对象的字段生成hashCode和equals实现..

@NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor
按订单生成的构造函数:生成不带参数的构造函数,每个final / non-nullfield一个参数,或每个字段一个参数。

@Data
现在所有一起:为快捷方式@ToString,@EqualsAndHashCode, @Getter在所有领域,@Setter所有非final字段,以及@RequiredArgsConstructor!

@Value
不可变的课程变得非常容易。

@Builder
......鲍勃是你的叔叔:用于创建对象的无懈可击的花式裤子API!

@SneakyThrows
大胆抛出已检查的异常,以前没有人抛出它们!

@Synchronized
synchronized 做得对:不要暴露你的锁。

@Getter(lazy=true)
懒惰是一种美德!

@Log
船长的日志,标榜24435.7:“又是什么线?”

experimental
前往实验室:我们正在研究的新东西。

maven创建项目JDK版本默认是1.5解决方法如何解决

<build>
    <finalName>Springmvc</finalName>
    <plugins>
            <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                            <source>1.8</source>
                            <target>1.8</target>
                            <encoding>UTF-8</encoding>
                    </configuration>
            </plugin>
    </plugins>
  </build>

[Java] druid推荐配置

druid配置
介绍:https://github.com/alibaba/druid

推荐配置:

initialSize 3 初始化配置
minIdle 3 最小连接数
maxActive 15 最大连接数
maxWait 5000 获取连接超时时间(单位:ms)
timeBetweenEvictionRunsMillis 90000 连接有效性检测时间(单位:ms)
testOnBorrow false 获取连接检测
testOnReturn false 归还连接检测
minEvictableIdleTimeMillis 1800000 最大空闲时间(单位ms)
testWhileIdle true 在获取连接后,确定是否要进行连接空间时间的检查
配置说明:

       1:minEvictableIdleTimeMillis(最大空闲时间):默认为30分钟,配置里面不进行设置。

2:testOnBorrow ,testOnReturn 默认为关闭,可以设置为不配置。

3:testWhileIdle(在获取连接后,确定是否要进行连接空闲时间的检查)。默认为true。配置里面不再进行设置。

流程说明:

1:在第一次调用connection的时候,才会进行 initialSize的初始化。

2:心跳检测时间线程,会休眠timeBetweenEvictionRunsMillis时间,然后只对(没有borrow的线程 减去 minIdle)的线程进行检查,如果空闲时间大于minEvictableIdleTimeMillis则进行close。

3:testWhileIdle必须设置为true,在获取到连接后,先检查testOnBorrow,然后再判定testwhileIdle,如果连接空闲时间大于timeBetweenEvictionRunsMillis,则会进行心跳检测。

4:不需要配置validationQuery,如果不配置的情况下会走ping命令,性能更高。

5:连接保存在数组里面,获取连接的时候,获取数组的最后一位。在timeBetweenEvictionRunsMillis时是从前往后进行检查连接的有效性。