|
|
GatewayRestfulApi 继承了 HttpServlet类
RestfulActiveServers、RestfulJobToServer继承了GatewayRestfulApi
GatewayRestful收集所有定义好的HttpServlet
InitServer在启动server的时候直接从GatewayRestful中获取到所有定义的HttpServlet。
more >>
Forget_ever
|
|
GatewayRestfulApi 继承了 HttpServlet类
RestfulActiveServers、RestfulJobToServer继承了GatewayRestfulApi
GatewayRestful收集所有定义好的HttpServlet
InitServer在启动server的时候直接从GatewayRestful中获取到所有定义的HttpServlet。
more >>
|
|
当你在本地已经有了好几次提交,但提交MR的时候发现这几次提交需要合为一次提交,想合并的时候该怎么做呢?
这时候需要使用git rebase -i进入交互模式来完成,请看下面的例子:
more >>下方是一份简单的java代码。一般我们最简单的enum写法会是如下即可
|
|
实际上这些Apple, Banana相当于是一个无参数的构造对象。如下想要运行有参数的构造对象,需要自己如下定义对应的构造方法。我们保证里面存了一个name和一个id。
|
|
下方是个scala版本的类似实现
|
|
在项目的pom.xml中添加如下配置,可以使得在mvn clean install 打包的jar包包含了所有的依赖包。
否则你得自己手动运行java 的时候添加这些jar包所在的classpath,也就是java -cp
|
|
指定主类:直接运行 java -jar xx.jar 的时候,会在这个jar包运行指定的主类,上述的pom.xml中也就是在
|
|
指定了主类为jdbc包下的BeelineJDBC类。
最后mvn clean install 就能在target中得到自己的jar包了。
我们经常可能需要从代码中启动一个脚本,或者一个程序来辅助自己完成需要的功能。比如bash脚本启动一个程序服务,可以通过进程之间的通信(比如socket)获取本程序想要的信息。
##进程的创建
Java提供了两种方法用来启动进程或其它程序:
(1)使用Runtime的exec()方法
(2)使用ProcessBuilder的start()方法
实际上Runtime.exec() 代码中最终也调用了ProcessBuilder的start()方法 。
这里主要展示一个简单的执行查看网卡信息的代码和从java代码中启动一个bash进程执行java命令的代码
|
|
|
|
代码中启动的新进程可能是一个服务或者类似ping baidu.com这种的不停执行的命令,不会因为当前进程的退出而退出。而且进程process对象中也无法获取到进程的id,给我们用于kill。
代码中通过启动一个新的进程找到和之前启动的进程相关的程序,比如之前启动的进程包含了执行infrastructure.TranswarpServer的java程序,那么可以通过ps aux | grep ‘infrastructure.TranswarpServer’找到相关的进程信息
我们简单测试就可知,从代码中执行ps aux | grep ‘infrastructure.TranswarpServer’指令,得到的不止我们需要的信息,还包括grep本身的进程,以及我们bash -c启动的进程信息,如下所示的这前两个就是无用的,最后一个才是我们真正需要的,而且这个bash执行完,前两个进程实际就消失了。
但是我们不用在意这些,将所有的pid都收集起来形成一个list,均kill -9 掉,如果已经不存在,kill -9 也不会有什么作用,对真正我们要kill的pid,也能正常kill。
|
|
|
|
我们协助他人进行合作开发的时候,往往是fork他人的项目,而不是直接在原项目基础上创建分支,在自己fork的项目下进行修改后,提交merge request。
fork的项目并不会自动随着源项目的修改而修改,所以我们每次修改一个项目之前,都要重新拉取原项目,将原项目他人做的修改合并过来。
原项目git源: ssh_old
现在项目的git源: ssh_now
|
|
具体的算法介绍不赘述了,看看网上的资料就可以了解大概意思了。
这里主要是两份代码的实现。一份是参考:https://blog.csdn.net/LilyNothing/article/details/64443563
扔硬币问题的极大似然地实现
more >>根据自定义的数据结构进行排序, 希望按照能够像c/c++中的写法一样自定义cmp函数。
python2中是支持的,但是python3取消了cmp的关键字,可以通过functools.cmp_to_key达到同样的效果
demo样例如下:
|
|
对于两个旋转的矩形求相交的面积
输入: 矩形1的4个点 [(ax1, ay1), (ax2, ay2), (ax3, ay3), (ax4, ay4)]
矩形2的4个点 [(bx1, by1), (bx2, by2), (bx3, by3), (bx4, by4)]
输出: 矩形1和矩形2相交的面积
tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true