A code cleanliness code farmers, A programmer concentrate on elegant design, A want to do with the product architect
暂时未有相关通用技术能力~
阿里云技能认证
详细说明无意间翻看之间的代码,发现了一段难以理解的代码。 byte[] bs = digest.digest(origin.getBytes(Charset.forName(charsetName))) ; for (int i = 0; i < bs.
Tair是一个高性能,分布式,可扩展,高可靠的key/value结构存储系统! Tair专为小文件优化,并提供简单易用的接口(类似Map)Tair支持Java和C版本的客户端 Tair is a distributed key-value storage system originally developed at Taobao.
在应用里经常都有用到在后台跑定时任务的需求。举个例子,比如需要在服务后台跑一个定时任务来进行非实时计算,清除临时数据、文件等。在本文里,我会给大家介绍3种不同的实现方法: 普通thread实现 TimerTask实现 ScheduledExecutorService实现 普通thread 这是最常见的,创建一个thread,然后让它在while循环里一直运行着,通过sleep方法来达到定时任务的效果。
我们在使用移动、电信等运营商网上营业厅的时候,为确保业务的完整和正确性,经常会需要用到短信的验证码。最近因为某省业务需要,也做了个类似的功能。 原理很简单,就是在用户点击"获取验证码"的时候,Ajax获取一串固定位数的数字,然后写数据库发短信,写Cookie设置验证码的有效期。
团队开发中,遵循一个合理、清晰的Git使用流程,是非常重要的。 否则,每个人都提交一堆杂乱无章的commit,项目很快就会变得难以协调和维护。 下面是ThoughtBot 的Git使用规范流程。我从中学到了很多,推荐你也这样使用Git。
EventBus是Guava的事件处理机制,是设计模式中的观察者模式(生产/消费者编程模型)的优雅实现。对于事件监听和发布订阅模式,EventBus是一个非常优雅和简单解决方案,我们不用创建复杂的类和接口层次结构。
今天去逛论坛 时发现了一个很有趣的问题: 谁能给我我解释一下这段程序的结果为什么是:2.而不是:3 代码如下: class Test { public int aaa() { int x = 1; try { ...
什么是Java Core和Heap Dump Java程序运行时,有时会产生Java Core及Heap Dump文件,它一般发生于Java程序遇到致命问题的情况下。 发生致命问题后,Java进程有时可以继续运行,但有时会挂掉。
环境前提: redis sentinel配置,三台主机,且配置运行良好 配置文件中添加: frontend ft_redis bind 0.0.0.0:6379 name redis default_backend bk_redis ...
http://swagger.io/
安装了oracle10g,打算用SQLPLUS 登录数据库进行操作。打开sqlplus后,可以看到要求输入用户名,口令和主机字符串。前面两个都知道,但是后一个却不明白,查了资料才知道是安装时的全局数据库名,也就是SID,知道了这点后,我用sys登录,输入用户名,口令和主机字符串登录,但却出错。
1、YARN 是什么? 从业界使用分布式系统的变化趋势和 hadoop 框架的长远发展来看,MapReduce的 JobTracker/TaskTracker 机制需要大规模的调整来修复它在可扩展性,内存消耗,线程模型,可靠性和性能上的缺陷。
WebSocket,并非HTML 5独有,WebSocket是一种协议。只是在handshake的时候,发送的链接信息头和HTTP相似。HTML 5只是实现了WebSocket的客户端。
java中写.txt文件,实现换行的几种方法: 1.使用java中的转义符"\r\n": windows下的文本文件换行符:\r\n linux/unix下的文本文件换行符:\r Mac下的文本文件换行符:\n 1.
这个话题来自: Nutz的issue 361 在考虑这个issue时, 我一直倾向于使用系统变量file.encoding来改变JVM的默认编码. 今天,我想到, 这个系统变量,对JVM的影响到底有多大呢? 我使用最简单的方法看看这个变量的影响--在JDK 1.
http://www.infinite-scroll.com/ Infinite scroll has been called autopagerize, unpaginate, endless pages.
当改变了jdk版本时,在编译java时,会遇到Unsupported major.minor version错误。错误信息如下 : Unsupported major.minor version 50.0Unsupported major.minor version 49.0 (我在jdk1.4 和1.5切换时就遇到了这个错误)Unsupported major.minor version 48.0 二、错误原因: 类似错误均属于Java版本问题,即JDK版本过低,只要选择相对应的JDK版本编译即可。
tmpfs是一种基于内存的文件系统,它和虚拟磁盘ramdisk比较类似像,但不完全相同,和ramdisk一样,tmpfs可以使用RAM,但它也可以使用swap分区来存储。而且传统的ramdisk是个块设备,要用mkfs来格式化它,才能真正地使用它;而tmpfs是一个文件系统,并不是块设备,只是安装它,就可以使用了。
Careful: git reset --hard WILL DELETE YOUR WORKING DIRECTORY CHANGES. Be sure tostash any local changes you want to keep before running this command.
继承的父类不同: * @since JDK1.0 */ public class Hashtable extends Dictionary implements Map, Cloneable, java.
答案是否 除了自动添加回车换行外,还有就是缓冲区最大容量的问题!! 无论如何设置serveroutput size,10g里 put() 最多只能输出 32767 个byte 而 put_line() 的最大容量为 1000000个byte 以下的代码目的是生成一个oracle数据...
DECLARE x number; BEGIN x:=9; --循环点 x:=x-1; DBMS_OUTPUT.PUT_LINE(X); IF X>0 THEN GOTO repeat_loop; --当x的值小于9时,就goto到repeat_loop END IF; ...
oracle常用数据类型1、Char 定长格式字符串,在数据库中存储时不足位数填补空格,它的声明方式如下CHAR(L),L为字符串长度,缺省为1,作为变量最大32767个字符,作为数据存储在ORACLE8中最大为2000。
谈谈你对面向对象的理解 面向对象编程,即OOP,是一种编程范式,满足面向对象编程的语言,一般会提供类、封装、继承等语法和概念来辅助我们进行面向对象编程。 面向对象是基于万物皆对象这个哲学观点. 所谓的面向对象就是将我们的程序模块化,对象化,把具体事物的特性属性和通过这些属性来实现一些动作的具体方法放到一个类里面 面向对象的三大特征 继承,封装,多态 一 继承 继承概念:一个类继承另一个类,则称继承的类为子类,被继承的类为父类。
本篇博客依照 Java NIO Tutorial 翻译,算是学习 Java NIO 的一个读书笔记。建议大家可以去阅读原文,相信你肯定会受益良多。 1. Java NIO Tutorial Java NIO,被称为新 IO(New IO),是 Java 1.4 引入的,用来替代 IO API的。
频段范围带宽目前应用情况目前中国移动TDD频率资源情况 A频段(band34) 2010-2025MHz 15M TD-SCDMA F频段(band 39) 1880-1900MHz 20M TD-SCDMA E频段(band40) 2320-2370MHz 50M TD-SCDMA/T...
位置参数可以用shift命令左移。比如shift 3表示原来的$4现在变成$1,原来的$5现在变成$2等等,原来的$1、$2、$3丢弃,$0不移动。不带参数的shift命令相当于shift 1。 非常有用的 Unix 命令:shift。
参看了 http://hi.baidu.com/hehongrong/item/b64a6d6b094cf634ac3e8382 里面说 -s :在文件执行时把进程的属主或组ID置为该文件的文件属主。
z-index在日常开发中算是一个比较常用的样式,一般理解就是设置标签在z轴先后顺序,z-index值大的显示在最前面,小的则会被遮挡,是的,z-index的实际作用就是这样。 但是你真的了解z-index吗?你知道它有什么特性吗?这里先抛出几个名词:“层叠顺序(stacking order)”,“层叠上下文(stacking context)”,“层叠水平(stacking level)”。
最近,在搭建Oracle RAC过程中,需要用到DNS和NTP,其中,DNS用于域名、IP管理,NTP用于时间同步。其实,很久以前搭建过这两种服务,但技术,本质上,符合“用进废退”的客观规律。用得越频,自然就越娴熟。
最近有个哥们在群里问,有一个日志,里面存的是IP地址(一行一个),如何将这些IP快速导入到Redis中。 我刚开始的建议是Shell+redis客户端。 今天,查看Redis官档,发现文档的首页部分(http://www.redis.io/documentation)有一个专门的主题是讲述“Redis Mass Insertion”的,才知道自己的建议很low。
写在前面 不同的语言,有它们各自擅长的应用场景,选择一门适合自己的语言需要勇气与毅力。 而当你下定决心要在甄选的语言上一条道走到黑的时候,孰不知,选择才刚刚开始。 一门编程语言往往有许多分支,每一个分支都需要掌握不同的技能,我们时常会感到困惑:怎么才能较为准确的分配技能点? 需求决定选择,从招聘方的角度来观察,看看我们未来的金主需要现在的你我掌握什么技能,或许能够从繁多的技术分支中受到启发: 这次练习的题目是通过Python抓取拉勾网的招聘详情页,并筛选其中的技能关键词,存储到excel中。
一,问题描述 给出一个无向图,指定无向图中某个顶点作为源点。求出图中所有顶点到源点的最短路径。 无向图的最短路径其实是源点到该顶点的最少边的数目。 本文假设图的信息保存在文件中,通过读取文件来构造图。
一,问题描述 在英文单词表中,有一些单词非常相似,它们可以通过只变换一个字符而得到另一个单词。比如:hive-->five;wine-->line;line-->nine;nine-->mine..... 那么,就存在这样一个问题:给定一个单词作为起始单词(相当于图的源点),给定另一个单词作为终点,求从起点单词经过的最少变换(每次变换只会变换一个字符),变成终点单词。
在开发中,经常需要从一台主机ssh登陆到另一台主机去,每次都需要输一次login/Password,很繁琐。使用密钥登陆就可以不用输入用户名和密码了实现从主机A免密码登陆到主机B(即把主机A的pub密钥--公钥,添加到主机B的~/.
Linux中包括两种链接:硬链接(hard link)和软链接(soft link),软链接又称为符号链接(symbolic link)创建命令:ln -s destfile/directory softlink #建立软连接 ln destfile hardlink #建立硬连接inode在Linux系统中,内核为每一个新创建的文件分配一个Inode,每个文件都有一个惟一的inode号,我们可以将inode简单理解成一个指针,它永远指向本文件的具体存储位置。
1、 基本概念(这是理解后面的知识的前提,请务必理解) a、 I/O重定向通常与 FD有关,shell的FD通常为10个,即 0~9; b、 常用FD有3个,为0(stdin,标准输入)、1(stdout,标准输出)、2(stderr,标准错误输出),默认与keyboard、monito...
.gitignore文件示例: .classpath .project .idea/ .settings/ target/ *~ *.iml *.log *.tmp …or create a new repository on the command line echo "# docs" >> README.
支持包名下的子包名遍历,并使用Annotation(内注)来过滤一些不必要的内部类,提高命中精度。 通过Thread.currentThread().getContextClassLoader()获取ClassLoader实例将包名转为路径名后,做为参数传给CloassLoader.
public class TestDemo { public static void main(String[] args) { String format = new DecimalFormat("##0.
随着Terracotta对Ehcache的收购成行,业界两大知名的开源Java缓存产品走到了一起。以提供JVM级“POJO集群”而闻名于世的Terracotta可以将运行在单个JVM上的多线程应用移植到多个JVM上而无需修改任何代码;而Ehcache的使用也是相当广泛的,无数的产品和项目中都可以见到其身影;它提供了类似于Oracle Coherence的标准的HashMap风格的接口。
常常有人把CV和Resume混起来称为“简历”,其实精确而言,CV应该是“履历”,Resume才是简历。Resume概述了有关的教育准备和经历,是对经验技能的摘要;curriculum vitae则集中说明学术工作,不重视与文化程度和学习成绩无直接关系的资料。
emlog后台登录地址的目录名称默认为admin,并且官方没有提供自定义后台登录入口名字的功能,这多少让我们觉得有些不安全,毕竟暴露一个网站的后台不是一件安全的事,今天就给您说下修改方法,增加一下网站的安全性。
./代表当前目录,?代表查询字符串为空 action="" //一般可以为空的,这里的双引号都要有的,表示提单提交给自己(也就是当前页处理)action="a.php" //是提交给 当前目录的a.php 处理 提交到本目录的默认主页如果是 action="?" 就是提交给自己
最近我们推出了两个教程:熟悉Git的基本功能和 让你在开发团队中熟练的使用Git . 我们所讨论的命令足够一个开发者在Git使用方面游刃有余。在这篇文章中,我们试图探索怎样有效的管理你的时间和充分的使用Git提供的功能。
资深后台研发工程师 岗位职责: 1、负责搭建平台网络架构及技术架构; 2、把握平台开发方向和技术路线,解决关键技术问题; 3、负责与战略客户、合作伙伴的方案讨论,技术交流以及开发管理; 4、负责参与项目启动、项目计划、项目选型、项目实施、项目验收及项目内部总结等相关工作; 5、参与公司其它技术问题讨论与决策; 6、公司交办的其他事项。
一.引子与协议说明 之前开发了一个项目——车载导航系统。遇到的第一个问题就是硬件设备如何与服务器通信。 关键在于通信协议! 众所周知:要想实现通信,首先通信双方就要达成通信协议。 话不多说,且看协议: ————————————————华丽的分割线————————————————— 以上的这些协议说明是不是看得很头大呢? 遵循如此这般的通信协议的硬件设备又如何才能与服务器以及PC顺利通信呢? 还请各位看官稍安勿躁!且听我娓娓道来! 二.基础知识-TCP与粘包 我们都知道,互联网的核心是TCP/IP协议簇。
概述 最近线上的日志处理服务偶尔会出现Out Of Memory的问题,从Exception的call stack中顺藤摸瓜,最终定位到是thrift反序列化的问题。 发现问题 先交代一下问题现场: thirft版本: 0.
参考文档:gradle的官方userguide.pdf文档的chapter 55和chapter 56.gradle的多模块或项目开发一定不会比maven差,在我看来!大的项目分成多个模块来开发是常事.