Arganzheng's Blog

stay hungry, stay foolish

面试点

Java基础知识 基础类型,引用 static块 编码(中文乱码) 异常(checked && unchecked) 接口与抽象类 Collections:ConcurrentHashMap的实现机制(CAS) 非线程安全:HashSet、HashMap、ArrayList、T...

scala with maven

scala官方比较prefer SBT,不过maven也可以的。关键还是IDE问题啊。 pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mave...

Scala的Option、Some和None

在java中,我们经常会遇到NPE异常,看到一个方法,我们无法确定它会不会返回一个null对象。方法本身也无法保证接收到的参数一定是不是null,所以有了防御式编程的说法。返回值与参数的取值说明,我们只能从代码注释或者文档中得知,更差情况,从代码实现得知,无法从函数签名直观得到。Scala引入Option关键字解决了这个问题。 必然下面这个函数定义: def computeFoo: Op...

C# Url Encoding的一些问题

最近API的C#版本SDK又出问题了,总是报sign计算错误。Sign计算问题一般是源串生成(参数排序、URL Encoding之类的)不一致,另一个就是签名算法(一般是HMAC或者MD5)不一致。首先看一下原串生成是不是有问题。 用Java和C#对同样的请求参数进行源串生成,发现果然不一样。对比了一下,发现是由于左右括号引起的。 public static void main(Stri...

移除SVN锁

现在还有用SVN悲观锁的。。赶紧移除吧 svn propdel svn:needs-lock -R -q 要移除锁设置的工程目录 TIPS 在这之前,你可能需要先抢占锁: Tortoise==>Check For Modifications==>sell all==>Break Lock==>Commit

卓有成效的程序员——windows篇

windows下如何查看端口被哪个进程占用 比如要找出哪个进程占用了80端口: Here is netstat command & output to find which process is holding port 80. C:\Users\arganzheng>netstat -nao | findstr "0.0.0.0:80" TCP 0.0.0.0:8...

卓有成效的程序员——windows篇

windows下如何查看端口被哪个进程占用 比如要找出哪个进程占用了80端口: Here is netstat command & output to find which process is holding port 80. C:\Users\arganzheng>netstat -nao | findstr "0.0.0.0:80" TCP 0.0.0.0:8...

JVM编码

package java.nio.charset; public abstract class Charset implements Comparable<Charset>{ private static volatile Charset defaultCharset; /** * Returns the default charset of t...

maven学习笔记

maven的核心概念 maven的核心概念 坐标 依赖 仓库 生命周期 插件 继承和聚合 仓库 Maven中的仓库用来存放生成的构建和各种依赖。 本地仓库 远程仓库 中央仓库 私服(内部仓库) 其他重要的仓库 仓库和镜像 一般来说公司都会有一个私服,然后我们可以在本地的sett...

如何在系统启动时完成资源加载

背景 在我们的应用中,经常有这样的场景,就是需要在应用启动的时候就预先加载某些资源,如果加载失败,应用都不需要启动了。这些资源的加载,我们都会把他们封装在一个类的loadResource方法中。关键是这个方法如何在系统初始化的时候被调用。一般有两种方式。 法一:通过Spring触发loadResource方法 如果这个类是通过Spring加载的,那么可以让Spring初始化之后直接调用...