daily note - wtdig/study GitHub Wiki
一、2017-6-1
- jsp
- jstl
- el
- ongl
我也推荐一个经常去的网站 http://www.javaxxz.com 。
- redis
- solr
- dubbo
spring技术内幕:http://note.youdao.com/noteshare?id=1a8a747f0ef7868c383acd6c69a86d5c
缓存技术
1、需要使用构造函数时,首先考虑能否使用静态工厂替代
2、判断语句,if里面的代码块为正常情况下的代码、else为不正常的代码
3、接口类中的方法和属性不要加任何修饰符号(public 也不要加),保持代码的简洁性,并加上有效的 javadoc注释。尽量不要在接口里定义变量,如果一定要定义变量,肯定是与接口方法相关,并且是整个应用的基础 常量。
4、枚举类名建议带上Enum后缀,枚举成员名称需要全大写,单词间用下划线隔开。
抽象类和抽象方法:抽象类不能被实例化,需要继承的子类进行实例化;子类实现抽象类的抽象方法;一个类中有抽象方法,那么这个类而是抽象类;抽象类关注的是事物的共性,抽取出来;
例如:电视机、收音机、冰箱、空调;他们抽象的类为:电器类,抽象的电器类中定义抽象的显示方法,那么各自的子类继承抽象的电器类时,实现各自的抽象方法
接口:更关注操作:比如:一个人,他有很多行为:吃饭、抽烟,那么他就实现相应的接口,实现相应的方法
编码抽象类的规范:
(1)抽象类命名应以Abstract或Base开头;
(2)抽象方法必须使用javadoc注释。
maven的jar包冲突解决;duoble\mq,webservice
现在一般的做法是:简单的理解;前台发送json数据,后台接收json数据(序列化),转换成java bean对象,进行逻辑处理,将java bean对象进行反序列化
1、maven的多模块管理下,配置文件的是如何读取的?
2、maven多模块在tomcat上的部署方式?
1、spring task的使用
2、spring cache的使用
3、spring与ehcache的整合
<title></title> <style> #mytime { text-align: center; } </style> <script> function two_char(n) { return n >= 10 ? n : "0" + n; } function time_fun() { var sec=0; setInterval(function () { sec++; var date = new Date(0, 0) date.setSeconds(sec); var h = date.getHours(), m = date.getMinutes(), s = date.getSeconds(); document.getElementById("mytime").innerText = two_char(h) + ":" + two_char(m) + ":" + two_char(s); }, 1000); } </script> <title>Insert title here</title> <script type="text/javascript"> // 页面加载完成后执行 window.onload = function() { //需求1、在div中动态的显示当前时间。 window.setInterval("_showtime()", 2000); }//需求2、点击button按钮 打开02页面。
function _open() {
window.open("02.html");
}
function _showtime() {
// 获得div的标签对象
var mydiv = document.getElementById("mydiv");
// 设置时间
mydiv.innerHTML = new Date().toLocaleString();
}
2017.09.11
1、消息中间件
2、缓存技术
代码生成工具 👍 mcg-helper
亿级流量网站架构核心技术-张开涛
多数据源切换:https://www.cnblogs.com/xiaochunqiu/p/7813276.html
二、https://blog.csdn.net/byp502955177/article/details/68927230
项目上线的时候,一定要一个回滚计划,当发布执行不下去的时候,回滚到发布之前。
初始化bean的方式,实现InitializingBean接口,实现afterPropertiesSet方法
1、Spring为bean提供了两种初始化bean的方式,实现InitializingBean接口,实现afterPropertiesSet方法,或者在配置文件中通过init-method指定,两种方式可以同时使用。
2、实现InitializingBean接口是直接调用afterPropertiesSet方法,比通过反射调用init-method指定的方法效率要高一点,但是init-method方式消除了对spring的依赖。
3、如果调用afterPropertiesSet方法时出错,则不调用init-method指定的方法。


布隆过滤器,判断大数据的查询是否存在问题。判断不存在,一定是不存在的,判断存在的,不一定是存在的。
原理:将一个值,通过多个hash函数分散到多个bit位上,根据位上是否设置为1,判断是否存在;
Tidb 分布式数据库
iDB 开源分布式关系型数据库 TiDB 是一款定位于在线事务处理/在线分析处理( HTAP: Hybrid Transactional/Analytical Processing)的融合型数据库产品,实现了一键水平伸缩,强一致性的多副本数据安全,分布式事务,实时 OLAP 等重要特性。同时兼容 MySQL 协议和生态,迁移便捷,运维成本极低。
Flink Blink 实时计算框架,比肩spark分布式实时计算
DTS的使用
disconfig的使用
开源实时日志分析ELK平台能够完美的解决我们上述的问题,ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成:
1)ElasticSearch是一个基于Lucene的开源分布式搜索服务器。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是第二流行的企业搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
在elasticsearch中,所有节点的数据是均等的。
2)Logstash是一个完全开源的工具,它可以对你的日志进行收集、过滤、分析,支持大量的数据获取方法,并将其存储供以后使用(如搜索)。说到搜索,logstash带有一个web界面,搜索和展示所有日志。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。
3)Kibana 是一个基于浏览器页面的Elasticsearch前端展示工具,也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。
开源文档管理工具:
https://github.com/phachon/mm-wiki
开源的代码库管理工具:
gitLab
禅道:缺陷管理工具
https://www.jianshu.com/p/5f5c8d60b6aa