最新文章
-
基于servlet简单实现一个mvc框架(模仿springmvc)
因为最近在折腾一些比较底层的东西,作为搞java的,不可避免的要折腾下mvc架构了。这是不久前开始折腾了几天的一个mvc架构,这两天偶尔零零星星的完善了一些,算是有了个雏形,这里稍稍记录下。这个项目的源码目前托管在github上,地址为:https://github.com/geeeeeeeeeeeeeeeek/NemoMvc简单的说明下:此框架大体只为学习mvc架构方面的东西,简单实现,所以肯定
-
JAVA简单实现一个类似apache的简易web容器
最近在弄一些比较底层的东西,所以不可避免的要弄一下网络协议相关的内容。正好项目转测有些时间,所以就琢磨着写了这个简易的类似apache的容器。目前这个web容器只支持静态文件的请求处理,后续如果有时间,会加入动态请求的处理。这个项目的源码目前托管在github上,地址为:https://github.com/geeeeeeeeeeeeeeeek/NemoWebServer在开始之前,需要一些基础的
-
分布式数据库架构--分库、分表、排序、分页、分组、实现 (转载)
MySQL分库分表总结:单库单表:单库单表是最常见的数据库设计,例如,有一张用户(user)表放在数据库db中,所有的用户都可以在db库中的user表中查到。 单库多表:随着用户数量的增加,user表的数据量会越来越大,当数据量达到一定程度的时候对user表的查询会渐渐的变慢,从而影响整个DB的性能。如果使用mysql,还有一个更严重的问题是,当需要添加一列的时候,mysql会锁表,期间......
-
Java虚拟机工作原理
首先我想从宏观上介绍一下Java虚拟机的工作原理。从最初的我们编写的Java源文件(.java文件)是如何一步步执行的,如下图所示,首先Java源文件经过前端编译器(javac或ECJ)将.java文件编译为Java字节码文件,然后JRE加载Java字节码文件,载入系统分配给JVM的内存区,然后执行引擎解释或编译类文件,再由即时编译器将字节码转化为机器码。主要介绍下图中的类加载器和运行时数据区两个......
-
推荐一款实时日志管理工具
TailLog实时日志管理工具TailLog是一实时日志管理工具。用于便捷高效的查看和监控日志信息。类似执行”tail”命令,在本地展示并跟踪日志信息。通过过滤器,搜索,高亮等辅助等功能,快定位异常,让你更专注于程序开发与运行。开发工作总是需要和日志打交道。而在开发,调试,监控时最常使用的命令是“tail-fxxx.log”来实时了解日志信息。但每次查看日志总是需要打开命令行工具,登录服务器,找到......
-
互联网架构面试题,还有京东、美团、滴滴哦
常规面试题1.HashMap的实现原理。2.什么是AOP?AOP的使用场景?AOP的实现原理?3.垃圾回收算法有哪些?4.class装载步骤?5.http的请求方法?6.常用的http响应头?7.简述java的内存模型8.springboot的优势和劣势?9.springcloud的优势和劣势以及springcloud的组成?10.collection和collections的区别?经典面试题1.......
-
Spring Aop世界的语言
要熟悉一个新领域的,首先要学会该领域的语言,也就是所谓的术语!Spring Aop 自成体系,他也有自己的术语,如下:通知(Advicev):在Aop 世界中,切面的工作被称为通知;定义了切面是什么以及何时使用;也就是描述切面要完成的工作,以及何时执行这个工作。连接点(Join point):应用程序执行过程中,能够插入切面的一个点。调用方法时,抛出异常时,......
-
Spring 使用注解方式进行事务管理
以下是Springmvc中比较常用的,springboot中则省去了配置,直接使用注解打开即可。不过核心原理还是一样的。使用步骤:步骤一、在spring配置文件中引入<tx:>命名空间<beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchem......
-
java 得到两个日期相差的天数
/***得到两个日期之间相差的天数*@paramdate1*@paramdate2*@return*/privatestaticintdifferentDays(Datedate1,Datedate2){Calendarcal1=Calendar.getInstance();cal1.setTime(date1);Calendarcal2=Calendar.getInstance();cal2.s......
-
java 强制类型转换方法
NemoMVC中用到的,先写一下。/***类型转换*@paramvalue需要转换的值*@paramtype需要转换的类型*@param<T>*@return*/@SuppressWarnings("unchecked")publicstatic<T>Tcast(Objectvalue,Class<T>type){if(value!=null&&......
-
spark与storm的对比
对比点StormSparkStreaming实时计算模型纯实时,来一条数据,处理一条数据准实时,对一个时间段内的数据收集起来,作为一个RDD,再处理实时计算延迟度毫秒级秒级吞吐量低高事务机制支持完善支持,但不够完善健壮性/容错性ZooKeeper,Acker,非常强Checkpoint,WAL,一般动态调整并行度支持不支持 SparkStreaming与Storm的应用场景 对......
-
TPS及计算方法
TPS(transactionpersecond)代表每秒执行的事务数量,可基于测试周期内完成的事务数量计算得出。例如,用户每分钟执行6个事务,TPS为6 /60s=0.10TPS。同时我们会知道事务的响应时间(或节拍),以此例,60秒完成6个事务也同时代表每个事务的响应时间或节拍为10秒。 利特尔法则 (Little’slaw):该法则由麻省理工大学斯隆商学院(MI......
-
linux下建立软连接:ln
其中/home/nemo/source_ln就是源文件,/home/nemo/test_ln建立连接的目标位置,其作用是当进入/home/nemo/test_ln目录或者操作/home/nemo/test_ln文件,实际上是链接进入/操作了/home/nemo/source_ln先举个栗子:ln-s/home/nemo/source_ln/home/nemo/test_lnlinux下的软链接类似......
-
NGINX增加X-Frame-Options配置,防止页面被嵌套
有时候站长不希望自己网页页面被其他站的FRAME嵌套进去,这时候就需要的HTTP协议头里增加X-Frame-Options这一项。X-Frame-Options的值有三个:(1)DENY---表示该页面不允许在frame中展示,即便是在相同域名的页面中嵌套也不允许。(2)SAMEORIGIN---表示该页面可以在相同域名页面的frame中展示。(3)ALLOW-FROMhttps://exampl......
-
如何学习区块链
区块链未来3到5年应该会出现行业井喷式发展,相应所需的人才必定水涨船高,每一个开发人员都不应该错过这样的机会。区块链涉及的技术很多,很多开发人员看了一些资料后,感觉好像懂了,又好像没懂。如何系统的学习区块链技术,是很多想从事区块链开发的程序员的问题,我们来一起讨论下,希望可以帮助更多的人掌握区块链开发技术。确定方向从事区块链开发也有很多方向,如:区块链应用开发人员、区块链架构师、底层核心开发、共识......
文章总数:781
本月热门
-
Android 自建maven库
-
java正则表达式过滤html标签
-
pip 安装greenlet,提示:clang: error: invalid version number in 'MACOSX_DEPLOYMENT_TARGET=11.1'
-
Python print如何一行覆盖输出?
-
nexus 搭建python私服:私有pip组件库
-
如何开发一个自己的Python组件?
-
Map
-
常用类API String类
-
提升android webview加速速度小技巧
-
Mac 下安装virtualenv: WARNING: The script virtualenv is installed in '/Users//Library/Python/3.7/bin' which is not on PATH
-
Python:批量获取并保存手机号的归属地和运营商
-
Java & Python 里的泛型
-
Java/Python3/Go语法简单对比
-
Markdown 语法简单练习