博客园 - zzzhouheng
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=160983
2018-11-02T07:32:22Z
zzzhouheng
https://www.cnblogs.com/hengzhou/
feed.cnblogs.com
https://www.cnblogs.com/hengzhou/p/9896535.html
时间复杂度On和空间复杂度O1是什么意思? - zzzhouheng
(1)、把输入规模看成x轴,所花时间/空间看成y轴 O(n)就是y=x,y随x的增长而线性增长。也就是成正比,一条斜线。 O(1)就是y=1,是一个常量,不管x怎么变,y不变,一条与x轴平行的线。 (2)、举个简单的例子,要从0加到n,我们会这么写: 一共算了n次加法,那么就说这个时间复杂度是O(n
2018-11-02T07:32:00Z
2018-11-02T07:32:00Z
zzzhouheng
https://www.cnblogs.com/hengzhou/
【摘要】(1)、把输入规模看成x轴,所花时间/空间看成y轴 O(n)就是y=x,y随x的增长而线性增长。也就是成正比,一条斜线。 O(1)就是y=1,是一个常量,不管x怎么变,y不变,一条与x轴平行的线。 (2)、举个简单的例子,要从0加到n,我们会这么写: 一共算了n次加法,那么就说这个时间复杂度是O(n <a href="https://www.cnblogs.com/hengzhou/p/9896535.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hengzhou/p/9728061.html
bin sh git@github.com no such file or directory - zzzhouheng
window下使用git: 输入命令:git clone git @github.com:Alan0521/dotvim.git 出现/bin/sh:git@github.com no such file or directory fatal:The remote end hung up unexp
2018-09-30T01:42:00Z
2018-09-30T01:42:00Z
zzzhouheng
https://www.cnblogs.com/hengzhou/
【摘要】window下使用git: 输入命令:git clone git @github.com:Alan0521/dotvim.git 出现/bin/sh:git@github.com no such file or directory fatal:The remote end hung up unexp <a href="https://www.cnblogs.com/hengzhou/p/9728061.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hengzhou/p/9699193.html
Mysql8.0 Public Key Retrieval is not allow错误的解决办法 - zzzhouheng
在使用Mysql 8.0时重启后启动项目的事后会报错com.mysql.jdbc.exceptions.jdbc4.MysqlNonTransientConnectionException: Public Key Retrieval is not allow 最简单的解决办法就是在连接后面添加all
2018-09-25T06:08:00Z
2018-09-25T06:08:00Z
zzzhouheng
https://www.cnblogs.com/hengzhou/
【摘要】在使用Mysql 8.0时重启后启动项目的事后会报错com.mysql.jdbc.exceptions.jdbc4.MysqlNonTransientConnectionException: Public Key Retrieval is not allow 最简单的解决办法就是在连接后面添加all <a href="https://www.cnblogs.com/hengzhou/p/9699193.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hengzhou/p/9667295.html
Spring cloud 之Feign基本使用 - zzzhouheng
首先导入feign的依赖: 主程序: Feign客户端接口:
2018-09-18T01:56:00Z
2018-09-18T01:56:00Z
zzzhouheng
https://www.cnblogs.com/hengzhou/
【摘要】首先导入feign的依赖: 主程序: Feign客户端接口: <a href="https://www.cnblogs.com/hengzhou/p/9667295.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hengzhou/p/9626739.html
java.lang.NumberFormatException:For input string:"undefined" - zzzhouheng
在将字符串转换为数字时导致此错误,解决此问题的思路: 1、添加 try catch语句 2、判断字符串是否为数字,将介绍java中判断字符串是否为数字的方法的几种方法 发生错误的代码: 发生错误的原因: 由于Ajax调用的时候对应的参数未设置,导致后台获取到的字符串是“undefined”,在将它转
2018-09-11T03:52:00Z
2018-09-11T03:52:00Z
zzzhouheng
https://www.cnblogs.com/hengzhou/
【摘要】在将字符串转换为数字时导致此错误,解决此问题的思路: 1、添加 try catch语句 2、判断字符串是否为数字,将介绍java中判断字符串是否为数字的方法的几种方法 发生错误的代码: 发生错误的原因: 由于Ajax调用的时候对应的参数未设置,导致后台获取到的字符串是“undefined”,在将它转 <a href="https://www.cnblogs.com/hengzhou/p/9626739.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hengzhou/p/9621332.html
Spring MVC @ResponseBody和@RequestBody使用 - zzzhouheng
@ResponseBody用法: 作用:该注解用于将Controller的方法返回的对象,根据HTTP Request Header的Accept的内容,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。 使用时机: 返回的数据不是htm
2018-09-10T09:43:00Z
2018-09-10T09:43:00Z
zzzhouheng
https://www.cnblogs.com/hengzhou/
【摘要】@ResponseBody用法: 作用:该注解用于将Controller的方法返回的对象,根据HTTP Request Header的Accept的内容,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。 使用时机: 返回的数据不是htm <a href="https://www.cnblogs.com/hengzhou/p/9621332.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hengzhou/p/9590951.html
Spring Mvc:用MultiPartFile上传单个文件,多个文件 - zzzhouheng
1、单个文件上传步骤: 添加Apache文件上传jar包 首先需要下载两个apache上传文件的jar包,commons-fileupload-1.3.1jar,commons-io-2.4.jar 具体使用版本,清根据项目进行选择 2、配置MultipartResolver处理文件 Spring 
2018-09-05T03:08:00Z
2018-09-05T03:08:00Z
zzzhouheng
https://www.cnblogs.com/hengzhou/
【摘要】1、单个文件上传步骤: 添加Apache文件上传jar包 首先需要下载两个apache上传文件的jar包,commons-fileupload-1.3.1jar,commons-io-2.4.jar 具体使用版本,清根据项目进行选择 2、配置MultipartResolver处理文件 Spring  <a href="https://www.cnblogs.com/hengzhou/p/9590951.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hengzhou/p/9550250.html
Java 8 Lambda表达式之方法引用 ::双冒号操作符 - zzzhouheng
双冒号运算符就是java中的方法引用,方法引用的格式是类名::方法名。 这里只是方法名,方法名的后面没有括号“()”。 > 这样的式子并不代表一定会调用这个方法。这种式子一般是用作Lambda表达式,Lambda有所谓的懒加载,不要括号就是说,看情况调用方法。 例如: 表达式: person ->p
2018-08-28T11:08:00Z
2018-08-28T11:08:00Z
zzzhouheng
https://www.cnblogs.com/hengzhou/
【摘要】双冒号运算符就是java中的方法引用,方法引用的格式是类名::方法名。 这里只是方法名,方法名的后面没有括号“()”。 > 这样的式子并不代表一定会调用这个方法。这种式子一般是用作Lambda表达式,Lambda有所谓的懒加载,不要括号就是说,看情况调用方法。 例如: 表达式: person ->p <a href="https://www.cnblogs.com/hengzhou/p/9550250.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hengzhou/p/9543597.html
MapBuilder,操作集合工具类 - zzzhouheng
public class MapBuilder { /** * Creates an instance of {@code HashMap} */ public static <K, V> HashMap<K, V> newHashMap() { return new HashMap<>(); }
2018-08-27T09:37:00Z
2018-08-27T09:37:00Z
zzzhouheng
https://www.cnblogs.com/hengzhou/
【摘要】public class MapBuilder { /** * Creates an instance of {@code HashMap} */ public static <K, V> HashMap<K, V> newHashMap() { return new HashMap<>(); } <a href="https://www.cnblogs.com/hengzhou/p/9543597.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hengzhou/p/9542720.html
简化Redis数据访问代码RedisTemplate - zzzhouheng
恢复内容开始 Redis数据结构简介: Redis可以存储键与5中数据结构类型之间的映射,这5中数据结构类型分别是;String(字符串),List(列表),Set(集合),Hash(散列)和ZSet(有序集合)。 下面对这5中数据结构做简单的介绍: String:可以是字符串,整数和浮点数。对整个
2018-08-27T07:58:00Z
2018-08-27T07:58:00Z
zzzhouheng
https://www.cnblogs.com/hengzhou/
【摘要】恢复内容开始 Redis数据结构简介: Redis可以存储键与5中数据结构类型之间的映射,这5中数据结构类型分别是;String(字符串),List(列表),Set(集合),Hash(散列)和ZSet(有序集合)。 下面对这5中数据结构做简单的介绍: String:可以是字符串,整数和浮点数。对整个 <a href="https://www.cnblogs.com/hengzhou/p/9542720.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hengzhou/p/9479852.html
怎么使用ping命令进行连通性测试 - zzzhouheng
关于ping命令的作用: ping 命令有助于验证网络层的连通性!一般进行网络故障排除时,可以使用ping 命令向目标计算机或IP地址发送ICMP回显请求,目标计算机会返回回显应答,如果目标计算机不能返回回显应答,说明在源计算机和目标计算机之间的网路存在问题,需要进一步检查解决 ping命令是啥?以
2018-08-15T02:13:00Z
2018-08-15T02:13:00Z
zzzhouheng
https://www.cnblogs.com/hengzhou/
【摘要】关于ping命令的作用: ping 命令有助于验证网络层的连通性!一般进行网络故障排除时,可以使用ping 命令向目标计算机或IP地址发送ICMP回显请求,目标计算机会返回回显应答,如果目标计算机不能返回回显应答,说明在源计算机和目标计算机之间的网路存在问题,需要进一步检查解决 ping命令是啥?以 <a href="https://www.cnblogs.com/hengzhou/p/9479852.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hengzhou/p/9470375.html
Spring boot Freemarker 获取ContextPath的方法 - zzzhouheng
Spring boot Freemarker 获取ContextPath的两种方法: 1、自定义viewResolver,Spring boot中有一个viewResolver,这个和配置文件中的师徒解析器是一样的,但是spring boot不允许xml配置文件,所以可以写一个自定义的FreeMar
2018-08-13T11:26:00Z
2018-08-13T11:26:00Z
zzzhouheng
https://www.cnblogs.com/hengzhou/
【摘要】Spring boot Freemarker 获取ContextPath的两种方法: 1、自定义viewResolver,Spring boot中有一个viewResolver,这个和配置文件中的师徒解析器是一样的,但是spring boot不允许xml配置文件,所以可以写一个自定义的FreeMar <a href="https://www.cnblogs.com/hengzhou/p/9470375.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hengzhou/p/9470267.html
Java并发-Runnable、Callable、Future、Future Task - zzzhouheng
Runnable: Runnable的代码非常简单,他是一个接口,且接口中只有一个方法,run(),创建一个类实现他,把一些费时操作写在其中,然后使用某个线程去执行该Runnable实现类即可实现多线程。 Callable: Callable的代码也非常简单,不同的是他是一个泛型接口,call()函
2018-08-13T11:04:00Z
2018-08-13T11:04:00Z
zzzhouheng
https://www.cnblogs.com/hengzhou/
【摘要】Runnable: Runnable的代码非常简单,他是一个接口,且接口中只有一个方法,run(),创建一个类实现他,把一些费时操作写在其中,然后使用某个线程去执行该Runnable实现类即可实现多线程。 Callable: Callable的代码也非常简单,不同的是他是一个泛型接口,call()函 <a href="https://www.cnblogs.com/hengzhou/p/9470267.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hengzhou/p/9467036.html
RandomStringUtils工具类(java随机生成字符串) - zzzhouheng
使用RandomStringUtils可以选择生成随机字符串,可以是全字母,全数字,自定义生成字符等等... 其最基础的方法: 参数解读: count:需要生成的随机串位数 letters:只要字母 numbers:只要数字 chars:自定义生成字符数组,如果为null,则为所有字符 start、
2018-08-13T03:24:00Z
2018-08-13T03:24:00Z
zzzhouheng
https://www.cnblogs.com/hengzhou/
【摘要】使用RandomStringUtils可以选择生成随机字符串,可以是全字母,全数字,自定义生成字符等等... 其最基础的方法: 参数解读: count:需要生成的随机串位数 letters:只要字母 numbers:只要数字 chars:自定义生成字符数组,如果为null,则为所有字符 start、 <a href="https://www.cnblogs.com/hengzhou/p/9467036.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hengzhou/p/9452595.html
Maven和Gradle的比较 - zzzhouheng
Gradle和Maven都是项目构建工具,但是完全是两个产品,maven应该目前在java企业级开发中占的比重比较大,Gradle是后起之秀,Google的Android Stadio主推的就是Gradle。 整个过程可以分为几个步骤: 1、编译源代码。 2、运行单元测试和集成测试 3、执行静态代码
2018-08-09T16:04:00Z
2018-08-09T16:04:00Z
zzzhouheng
https://www.cnblogs.com/hengzhou/
【摘要】Gradle和Maven都是项目构建工具,但是完全是两个产品,maven应该目前在java企业级开发中占的比重比较大,Gradle是后起之秀,Google的Android Stadio主推的就是Gradle。 整个过程可以分为几个步骤: 1、编译源代码。 2、运行单元测试和集成测试 3、执行静态代码 <a href="https://www.cnblogs.com/hengzhou/p/9452595.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hengzhou/p/9441835.html
关于WebSecurityConfigurerAdapter和ResourceServerConfigurerAdapter源码分析 - zzzhouheng
前言:优先级高于ResourceServerConfigurer,用于保护oauth相关的endpoints,同时主要作用于用户的登录(form login,Basic auth) WebSecurityConfigurerAdapter是默认情况下Spring security的http配置;Re
2018-08-08T03:36:00Z
2018-08-08T03:36:00Z
zzzhouheng
https://www.cnblogs.com/hengzhou/
【摘要】前言:优先级高于ResourceServerConfigurer,用于保护oauth相关的endpoints,同时主要作用于用户的登录(form login,Basic auth) WebSecurityConfigurerAdapter是默认情况下Spring security的http配置;Re <a href="https://www.cnblogs.com/hengzhou/p/9441835.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hengzhou/p/9438786.html
支付系统、账户系统有关模型 - zzzhouheng
简介:账户体系是支付系统的基础,一个支付系统必须要有账户体系。因此账户体系的设计显得尤为重要。 支付账户和登陆账号: 两个概念:支付账户和登陆账号,这是属于两个不同业务的领域。 支付账户:用户在支付系统中用于交易的所有者权益的凭证。 登陆账号:用户用于登录系统的凭证和个人信息。 两者的联系:一个用户
2018-08-07T10:51:00Z
2018-08-07T10:51:00Z
zzzhouheng
https://www.cnblogs.com/hengzhou/
【摘要】简介:账户体系是支付系统的基础,一个支付系统必须要有账户体系。因此账户体系的设计显得尤为重要。 支付账户和登陆账号: 两个概念:支付账户和登陆账号,这是属于两个不同业务的领域。 支付账户:用户在支付系统中用于交易的所有者权益的凭证。 登陆账号:用户用于登录系统的凭证和个人信息。 两者的联系:一个用户 <a href="https://www.cnblogs.com/hengzhou/p/9438786.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hengzhou/p/9403735.html
Spring security 如何设置才能避免拦截到静态资源 - zzzhouheng
问题:继承FilterSecurityInterceptor自定义Spring security拦截器,但是每次都拦截了css等静态资源,应该如何设置?
2018-08-01T12:20:00Z
2018-08-01T12:20:00Z
zzzhouheng
https://www.cnblogs.com/hengzhou/
【摘要】问题:继承FilterSecurityInterceptor自定义Spring security拦截器,但是每次都拦截了css等静态资源,应该如何设置? <a href="https://www.cnblogs.com/hengzhou/p/9403735.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hengzhou/p/9395458.html
前后端分离的项目,如何解决登陆问题 - zzzhouheng
方案一:使用token 1、前端把account和password,提交到服务端的登陆api 2、服务端验证正确后,生成一个token,并把token和userId,存在缓存里(推荐使用redis数据库),然后把token返回给前端。 3、前端每次的请求头中带有token,这样就能够轻松的实现。 方
2018-07-31T05:52:00Z
2018-07-31T05:52:00Z
zzzhouheng
https://www.cnblogs.com/hengzhou/
【摘要】方案一:使用token 1、前端把account和password,提交到服务端的登陆api 2、服务端验证正确后,生成一个token,并把token和userId,存在缓存里(推荐使用redis数据库),然后把token返回给前端。 3、前端每次的请求头中带有token,这样就能够轻松的实现。 方 <a href="https://www.cnblogs.com/hengzhou/p/9395458.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hengzhou/p/9358243.html
Git出现提交错误--Push to origin/master was rejected(转) - zzzhouheng
Step1:出现的问题? 在使用Git Push代码的时候,会出现Push to origin/master was rejected 的错误提示。在第一次提交到代码仓库的时候非常容易出现,因为初始化的仓库和本地仓库是没有什么关联的,因此,在进行第一次的新代码提交时,通常会出现这个错误。 Step2
2018-07-24T01:28:00Z
2018-07-24T01:28:00Z
zzzhouheng
https://www.cnblogs.com/hengzhou/
【摘要】Step1:出现的问题? 在使用Git Push代码的时候,会出现Push to origin/master was rejected 的错误提示。在第一次提交到代码仓库的时候非常容易出现,因为初始化的仓库和本地仓库是没有什么关联的,因此,在进行第一次的新代码提交时,通常会出现这个错误。 Step2 <a href="https://www.cnblogs.com/hengzhou/p/9358243.html" target="_blank">阅读全文</a>