随笔
文章平均质量分 89
Em_dark
这个作者很懒,什么都没留下…
展开
-
java单元测试实战
单元测试单元测试的优点验证行为设计行为编写文档回归行为单元测试使用的工具 for javaspring boot test 1.5.Xjunit4junit4官网Mockitomocktio中文文档(机翻)PowerMockito能mock静态、final、私有方法等jacocoJacoco是一个开源的覆盖率工具jacoco基本介绍测试准备引入pom.xml<!-- ======= --><!-- 测试配置版本 --><!--原创 2021-05-24 16:31:25 · 1143 阅读 · 6 评论 -
onethink 框架 更改数据库连接配置
/alidata/www/xxx/Apps/Common/Conf/config.php /alidata/www/xxx/Apps/User/Conf/config.php/alidata/www/xxx 项目安装目录原创 2017-06-12 22:54:32 · 1580 阅读 · 0 评论 -
线程池模型
其实,javaweb就是一个socket,这个socket监听并接受到达的http请求,请求接受后,可以封装数据,交给web层来处理这个请求 大概就会是一个socket线程监听请求,一旦接收到请求,那么就handlerRequest.然后封装一个respsonse返回. 因为只有一个socket线程,所以,如果返回一个response需要10ms 那么100ms的时间内只能返回10个请求 那么原创 2017-08-09 13:49:48 · 614 阅读 · 0 评论 -
IDEA JVM 参数设置
在右上角选择 Edit Configurations然后在VM options 填写你的参数, 这里的 -XX:+PrintGCDetails 是让能够打印GC信息 然后就能在控制台看到信息了原创 2017-08-09 14:26:29 · 830 阅读 · 0 评论 -
怎么预防多线程出错
开始着手多线程的东西了.今天看到公司的一个C++ 前辈在写服务,凑过去瞧了瞧, 好帅气好多线程了, 突然想到他是要和我对接的这么多请求我处理的过来嘛,,所以多线程还没开始写, 就开始问一些怎么预防多线程出错“这么大量的插入我怎么防止出错啊”“首先建议索引唯一”“那这要两个字段才能联合标识唯一啊”“那你就建立联合索引啊.用navicat 很方便的.”“好的,那我去些插入sql了”“等一下,你要用什么方原创 2017-08-03 16:29:42 · 343 阅读 · 0 评论 -
lambda 初试探
Runnable r=()->System.out.println("hello lambda");这就是个样板lambda编程模版expression = (variable) -> actionvariable: 这是一个变量,一个占位符。像x,y,z,可以是多个变量;action: 逻辑代码部分也可以包含多个参数int sum = (x, y) -> x + y;这里就是用int 类型的原创 2017-08-11 15:11:25 · 263 阅读 · 0 评论 -
随TOMCAT启动 启动一个线程
建立一个类, 实现ServletContextListener接口 在web.xml里加上监听import javax.servlet.ServletContextEvent;import javax.servlet.ServletContextListener;public class socketMain implements ServletContextListener { @O原创 2017-09-06 10:19:31 · 2081 阅读 · 0 评论 -
如何沟通
什么是沟通?百度百科上说是信息的双向同步什么是有效的沟通?通过听、说、读、写等载体 演讲、会见、对话、讨论、信件等方式 让对方接受别让我去想!如何有效沟通?首先确认沟通的目标! 比如我和同事被告知要去培训,而我不知道什么时候去培训,这里就是我的信息不同步,我需要去同步, 那么我就需要沟通! 那我这次的目的是想知道 我什么时候去参加培训? 但是 同事告诉我:”我不知道” 或者”在海淀区培原创 2017-10-13 15:14:17 · 303 阅读 · 0 评论 -
创业需要解决的几个问题
1.麦肯锡的7s模型,在切也的战略和商业模式设计过程中,要考虑包括结构(structure),制度(system),风格(style),员工(staff),技能(skill),战略(strategy),共同的价值观(shared values) 2.产品和市场匹配 你的需求是真实需求还是伪需求 你的产品是否是客户真实需要的,是否能带来价值 你是否能够从客户那里获取收益(不管是金钱,客户在你的原创 2017-12-13 16:57:26 · 831 阅读 · 0 评论 -
生物九律
分布式蜂群意识,经济体行为,超级电脑的思维,以及我的生命,都分布在众多更小的单元上(这些单元自身也可能是分布式的)。当总体大于各部分的简单和时,那多出来的部分(也就是从无中生出的有)就分布于各部分之中。无论何时,当我们从无中得到某物,总会发现它衍生自许多相互作用的更小的部件。我们所能发现的最有趣的奇迹——生命、智力、进化,全都根植于大型分布式系统中。 自下而上的控制当分布式网络中的一切都互相连接起来原创 2017-11-28 10:26:35 · 523 阅读 · 0 评论 -
今日整理
现在整理一下吧Array BlockingQueue 手动实现一下吧首先构造//有如下定义/** The queued items */ private final E[] items; /** items index for next take, poll or remove */ private int takeIndex; /** items index ...原创 2018-02-27 00:57:27 · 269 阅读 · 0 评论 -
linux 下安装npm和node
先安装,nvm,即是Node Version Manager(Node版本管理器)curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash或者使用 wgetwget -qO- https://raw.githubusercontent.com/creationix/nvm...原创 2018-08-31 13:53:08 · 1074 阅读 · 1 评论 -
量子世界之思考结论
多态只是你脑子里的多态平行世界只存在于你脑子里每个人都是一个世界原创 2019-01-10 14:16:00 · 295 阅读 · 0 评论 -
乌合之众
1:孤立的个人很清楚,孤身一人时,他不能焚烧宫殿或洗劫商店,即使受到诱惑,也很容易抵制。 但在成为群体的一员时,他就会意识到人数赋予他的力量,这足以让他生出杀人劫掠的念头,并且会立刻屈从于这种诱惑。2:个人一旦成为群体的一员,他所作所为就不会再承担责任,这时每个人都会暴露出自己不受到的约束的一面。群体追求和相信的从来不是什么真相和理性,而是盲从、残忍、偏执和狂热,只知道简单而极端的感情。3:人...原创 2019-01-10 10:37:55 · 474 阅读 · 0 评论 -
Nexus
安装创建文件夹:mkdir -p /usr/local/software/nexus切换目录:cd /usr/local/software/nexuswget “https://sonatype-download.global.ssl.fastly.net/nexus/oss/nexus-2.14.3-02-bundle.tar.gz”tar xfvz nexus-2.14.3-02-...原创 2019-03-25 20:48:34 · 176 阅读 · 0 评论 -
发布项目至服务器
最近手头上的任务是让我把原来一个项目搬到新服务器上,只更改一下标题. 1.我用Idea 进行maven打包.一般打包至target目录下,在idea上运行成功都会在target目录下有个war包,这样就有了war包(其他的方法可以谷歌百度) 2.然后在服务器上我用的就是oneinstack一键部署,很方便实在.(使用说明官网上有的) 3.安装完成后新建项目. 比如www.ss22.com原创 2017-06-12 15:32:27 · 476 阅读 · 0 评论 -
JVM 调优常用命令
常用Shell命令查看网络状况netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'使用top去获取进程cpu使用率;使用/proc文件查看进程所占内存。#!/bin/bash for i in `ps -ef | e转载 2017-06-06 16:13:24 · 404 阅读 · 0 评论 -
编码检查项目
编码问题可以说是程序员无法回避的问题,我相信即使是很有经验的程序员,也会被坑。没有办法,现实世界就是这么坑爹,只能寻根溯源,一一排查了。对于程序员通常,只要保证下面几点就没有问题了:指定网页的编码;配置web server对uri使用request里配置的编码;在ajax请求里先encodeURI();原创 2017-05-19 16:56:55 · 322 阅读 · 0 评论 -
关于日志记录的一些感想.
在平时的工作中,一般都会用到工作日志,一个好的日志要记录一些什么,现在想做下记录1.发生的时间,2.发生的地方(即类名,类行)3.发生问题的线程(多线程的程序需要注意的)4.怎么发生的,程序的输入参数是什么5.相关于这个方法,或者这个动作做的是什么,也就是注释也要写上那么记录下来这些事项的的需求是什么呢,也就是原因是什么呢1.排查问题的需要2.审计部门的需要原创 2016-12-15 14:10:49 · 336 阅读 · 0 评论 -
HBASE笔记
big table 三个列.group by 很麻烦查询,连接(反复)很快 学生key attribute value1 name jamesHBASE 逻辑模型以表的形式存放数据行键 时间戳 列族(1,2,3,4…)(列族需要提前定义)更新是插入一个新行, 删除是打上一个删除标记.HDFS 不能修改,追加也很困难, 所以hbase 会是这样原创 2016-12-28 18:27:19 · 350 阅读 · 0 评论 -
相关笔记
unix vmware 查看共享文件夹的内容 , /mnt/hgfs/window目录共享的文件夹yum install java 后的安装路径是 /usr/lib/jvm/java-1.8.0/jre/bin编辑配置文件 vi /etc/profile安装完eclipse 查找到hadoop/contrib/hadoop plugin把这个复制到eclipse的plugin原创 2016-12-26 13:29:19 · 350 阅读 · 0 评论 -
pig
是hadoop 的客户端,相当于 oracle 和plsql方便不熟悉java的用户可以排序,过滤,求和,聚组 pig latin 轻量级脚本语言sqlpig latinmap-reducecluster下载并解压pig mirror.bjtu.edu.cn/apache/pig下载完成后解压 配置Linux 系统环境变量 vi ~/.bash_profile vi /etc/profi原创 2017-01-04 14:07:46 · 401 阅读 · 0 评论 -
eclipse 官方切换成中文版教程
http://www.eclipse.org/babel/downloads.php到该链接里找到你所对应的eclipse版本nenomarsluna目前就这三个版本然后把连接复制到eclipses里的install new software把链接贴进去 稍等片刻会让你选择你要安装的语言版本选择 Chinese simply 的这个选项,然后一路OK. agree 就好了. 然后在第一个选原创 2016-12-28 16:11:54 · 40208 阅读 · 2 评论 -
mybatis笔记
官方文档是这么写的 MyBatis是一款支持普通SQL查询、存储过程和高级映射的持久层框架。MyBatis消除了几乎所有的JDBC代码、参数的设置和结果集的检索。MyBatis可以使用简单的XML或注解用于参数配置和原始映射,将接口和Java POJO(普通Java对象)映射成数据库中的记录。 注意,这里空构造方法必须要有,SqlSession的selectOne方法查询一条信息的时候会调用原创 2016-12-29 09:31:12 · 403 阅读 · 0 评论 -
HIVE笔记
cat input/ncdc/sample.txt |ch02/src/main/ruby/max_temperature_map.rb|\sort |ch02/src/main/ruby/max_temperaterue_reduce.rbhadoop jar $HADOOP_INSTALL/conrib/streaming/hadoop-*.streaming.jar\ -input inpu原创 2017-01-06 11:30:15 · 312 阅读 · 0 评论 -
关于机器学习的一点看法
传统意义上的对于计算机使用的方法是,给他一个指令让他做什么他就做什么. 但机器学习却不是这样的,事实上,机器学习是给他一堆数据,让他给点意见 比如,我要吃一块蛋糕,这个主要取决于两个条件,一个是这个蛋糕多少钱,我有没有这么多钱,还有一个条件是我饿不饿, 蛋糕多少钱是一个自变量,我饿不饿是也是自变量,我最后买没有买这个蛋糕是因变量. 解决一个问题是有3种方法,一个是问别人,一个是采用知识,最后一原创 2017-01-09 17:35:58 · 1225 阅读 · 0 评论 -
CSC压缩矩阵
1 0 4 0 3 5 2 0 6 一个简单的矩阵 Array(0, 2, 3, 6) Array(0, 2, 1, 0, 1, 2) Array(1, 2, 3, 4, 5, 6)Array(1, 2, 3, 4, 5, 6)–>表示按照列依次顺序排列非0元素 Array(0, 2, 1, 0, 1, 2)–>表示每一列非零元素所在的行号(从0开始) Arr原创 2017-01-10 14:48:36 · 3428 阅读 · 1 评论 -
用户投票的排名算法
第一种 新鲜的delicious 新的难以上升, 第二种 上升的hacker P-1/(T+2)^G P投票数,T时间单位为小时,G重力系数一般为1.8(通常取值还有1.5,2.0 越大下降数度越快) 第二种 波动的Reddit lg z + yt/45000 t–>发表时间,是一个时间戳帖子越新,越大 z–>受肯定的程度 |赞成票-否定票| 如果相同就为原创 2017-03-29 12:36:32 · 848 阅读 · 0 评论 -
关于代码整洁的一些坑
近几天公司的事情渐渐的闲了下来, 然后闲来无事,准备把东西都整理一下. 尤其是代码部分,然后整理了一些code review的东西大家参考一下 最主要的事情是 **让别人能看懂你的代码1.单一职责单一职责很简单, 就是一个class做一件事情,把方法拆细,以便复用.2.一看就懂的命名这个就不怎么说了, 要是你代码里全是 a, b, c 谁看的懂你的代码3.一大串的参数??要是一个方法的原创 2017-05-12 14:55:56 · 288 阅读 · 0 评论 -
Chrome浏览器Network面板http请求时间分析
Chrome浏览器开发者工具Network窗口下,可以查看下载各组件所需的具体时间根据上表进行简要分析——Stalled(阻塞) 浏览器对同一个主机域名的并发连接数有限制,因此如果当前的连接数已经超过上限,那么其余请求就会被阻塞,等待新的可用连接;此外脚本也会阻塞其他组件的下载; 优化措施: 1、将资源合理分布到多台主机上,可以提高并发数,但是转载 2017-05-24 09:04:44 · 10608 阅读 · 0 评论 -
java动态代理之自我理解
动态代理 首先看代理两字,一般生活中所理解的代理就是,我给厂家代理卖东西,有人来我这买,他看不到后面的厂家的,意思就是他不知道厂家,不知道委托人,然后我做代理,我的客户都是我的朋友,所以又给过滤了一边客户。 那么有动态代理就有静态代理 静态代理就是在程序运行之前就存在的。 实现同一个接口public interface Sell { void sell(); void ad(原创 2017-05-26 16:10:07 · 334 阅读 · 0 评论 -
URL和URI区别
URL(Uniform Resource Locator)即统一资源定位器,指向互联网资源的指针,是一种具体的资源。其一般的形式,如:scheme:[//host][:port][path][?query][#fragment]scheme包括:http、https、file、jar等。一个例子:file:/User/root/test.jar?time=123431212, 其中:schema为f原创 2017-05-26 17:15:53 · 365 阅读 · 0 评论 -
JVM相关笔记
JVM 把内存分为几块不同的数据区 1.方法区 2.java堆 3.java栈 4.本地方法栈java 堆 是被所有线程共享的一块内存区域,主要是存放对象实例的. 那么怎么分,有两种办法, 1.指针碰撞 就是一大块.一次找到一块的大小,然后指针往后移这么大的, 2.空闲列表法 有的时候不是连续分配的. 所以就用一张表,记录下来哪些地方是空闲的.’然后创建对象是一个频繁的操作啊.原创 2017-05-19 14:40:00 · 233 阅读 · 0 评论 -
Java GC笔记
Java堆是被所有线程共享的一块内存区域,所有对象实例和数组都在堆上进行内存分配。为了进行高效的垃圾回收,虚拟机把堆内存划分成新生代(Young Generation)、老年代(Old Generation)和永久代(Permanent Generation)3个区域。 新生代由 Eden 与 Survivor Space(S0,S1)构成,大小通过-Xmn参数指定,Eden 与 Survivor转载 2017-05-19 16:25:19 · 575 阅读 · 0 评论 -
新篇伊始
这是我的第一篇blog.基于开发中发现很多问题,而且我需要记录一下,以免以后遗忘.更好的规划总结.希望与大家共勉.原创 2016-12-05 17:52:24 · 265 阅读 · 0 评论