daily note - wtdig/study GitHub Wiki

一、2017-6-1


  1. jsp
  2. jstl
  3. el
  4. ongl
https://zhuanlan.zhihu.com/p/22112669?refer=passer

http://edu.csdn.net/

我也推荐一个经常去的网站 http://www.javaxxz.com


  1. redis

  1. solr

  1. dubbo

spring技术内幕:http://note.youdao.com/noteshare?id=1a8a747f0ef7868c383acd6c69a86d5c

缓存技术


编码规范-2017/07/17

1、需要使用构造函数时,首先考虑能否使用静态工厂替代

2、判断语句,if里面的代码块为正常情况下的代码、else为不正常的代码

3、接口类中的方法和属性不要加任何修饰符号(public 也不要加),保持代码的简洁性,并加上有效的 javadoc注释。尽量不要在接口里定义变量,如果一定要定义变量,肯定是与接口方法相关,并且是整个应用的基础 常量。

4、枚举类名建议带上Enum后缀,枚举成员名称需要全大写,单词间用下划线隔开。


抽象、接口

抽象类和抽象方法:抽象类不能被实例化,需要继承的子类进行实例化;子类实现抽象类的抽象方法;一个类中有抽象方法,那么这个类而是抽象类;抽象类关注的是事物的共性,抽取出来;

例如:电视机、收音机、冰箱、空调;他们抽象的类为:电器类,抽象的电器类中定义抽象的显示方法,那么各自的子类继承抽象的电器类时,实现各自的抽象方法

接口:更关注操作:比如:一个人,他有很多行为:吃饭、抽烟,那么他就实现相应的接口,实现相应的方法

编码抽象类的规范:

(1)抽象类命名应以Abstract或Base开头;

(2)抽象方法必须使用javadoc注释。


2017/7/25

maven的jar包冲突解决;duoble\mq,webservice

前后端分离

现在一般的做法是:简单的理解;前台发送json数据,后台接收json数据(序列化),转换成java bean对象,进行逻辑处理,将java bean对象进行反序列化


2017.8.7

1、maven的多模块管理下,配置文件的是如何读取的?

2、maven多模块在tomcat上的部署方式?


2017.8.11

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>

00:00:00

<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();
}
</script>
设置时间



2017.09.11

1、消息中间件

2、缓存技术

2018.4.9

多线程基础博客


2018.5.9

代码生成工具 👍 mcg-helper

亿级流量网站架构核心技术-张开涛


2018.6.28

多数据源切换:https://www.cnblogs.com/xiaochunqiu/p/7813276.html

二、https://blog.csdn.net/byp502955177/article/details/68927230

2018.11.11

项目上线的时候,一定要一个回滚计划,当发布执行不下去的时候,回滚到发布之前。


mybatis源码分析


2018.12.26

初始化bean的方式,实现InitializingBean接口,实现afterPropertiesSet方法

参考资料

1、Spring为bean提供了两种初始化bean的方式,实现InitializingBean接口,实现afterPropertiesSet方法,或者在配置文件中通过init-method指定,两种方式可以同时使用。

2、实现InitializingBean接口是直接调用afterPropertiesSet方法,比通过反射调用init-method指定的方法效率要高一点,但是init-method方式消除了对spring的依赖。

3、如果调用afterPropertiesSet方法时出错,则不调用init-method指定的方法。

测试图片

test图片

2019.2.22

布隆过滤器,判断大数据的查询是否存在问题。判断不存在,一定是不存在的,判断存在的,不一定是存在的。

原理:将一个值,通过多个hash函数分散到多个bit位上,根据位上是否设置为1,判断是否存在;

参考资料1

参考资料2


2019.3.19

Tidb 分布式数据库

iDB 开源分布式关系型数据库 TiDB 是一款定位于在线事务处理/在线分析处理( HTAP: Hybrid Transactional/Analytical Processing)的融合型数据库产品,实现了一键水平伸缩,强一致性的多副本数据安全,分布式事务,实时 OLAP 等重要特性。同时兼容 MySQL 协议和生态,迁移便捷,运维成本极低。

参考资料

Flink Blink 实时计算框架,比肩spark分布式实时计算

参考资料

2019.4.25

DTS的使用

disconfig的使用

2019.6.15

开源实时日志分析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 界面,可以帮助您汇总、分析和搜索重要数据日志。

2020.08.27

开源文档管理工具:
https://github.com/phachon/mm-wiki

开源的代码库管理工具:
gitLab

禅道:缺陷管理工具
https://www.jianshu.com/p/5f5c8d60b6aa
⚠️ **GitHub.com Fallback** ⚠️