自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

美好的未来在于把握今天

很多事情努力了未必有结果,但是不努力却什么改变也没有。

  • 博客(17)
  • 资源 (1)
  • 收藏
  • 关注

转载 分布式系统的核心——日志

什么是日志?日志就是按照时间顺序追加的、完全有序的记录序列,其实就是一种特殊的文件格式,文件是一个字节数组,而这里日志是一个记录数据,只是相对于文件来说,这里每条记录都是按照时间的相对顺序排列的,可以说日志是最简单的一种存储模型,读取一般都是从左到右,例如消息队列,一般是线性写入log文件,消费者顺序从offset开始读取。由于日志本身固有的特性,记录从左向右开始顺序插入,也就意味着左

2017-12-16 13:03:03 417

转载 神经网络的神奇之处

导读我认为大脑本质上就是一台计算机,而知觉和意识则像是计算机程序,也会随着计算机的关闭(人的死亡)而停止。理论上,这些知觉和意识是可以重新创造于一个神经网络中的,但是这太难了,因为这将需要一个人所有的记忆。 ——史蒂芬·霍金起源出于对更高生产力的追求,人类从未停止发明新的工具以帮助其更快/更好的完成工作;从而可以每天什么都不用做,躺在家里的沙发上。这些工具有

2017-12-16 13:00:36 463

转载 如何通过API调用来分析恶意软件

导读在今年的上一个季度,我们发现有越来越多的恶意软件开始使用各种加密、封装和加壳等保护技术来对恶意代码进行混淆处理,以防止系统或程序对其进行识别。除此之外,这些技术甚至还会让研究人员对其的静态分析变得更加困难。虽然越来越多的恶意软件开发人员开始使用这种保护性的加壳技术,但这也直接导致了另一种恶意软件分析方法的诞生。其中的一种分析方法,就是通过分析恶意代码中负责告

2017-12-16 12:53:01 3135 1

转载 如何使用Nginx搭建WCF集群!

导读很多情况下基于wcf的复杂均衡都首选zookeeper,这样可以拥有更好的控制粒度,但zk对C# 不大友好,实现起来相对来说比较麻烦,实际情况下,如果你的负载机制粒度很粗糙的话,优先使用nginx就可以搞定,既可以实现复杂均衡,又可以实现双机热备,以最小的代码量实现我们的业务,下面具体分享下。一:准备的材料1. 话不多说,一图胜千言,图中的服务器都是

2017-12-16 12:48:28 446

转载 高性能网站实用技巧之负载均衡篇

1. 什么是负载均衡?当一台服务器的性能达到极限时,我们可以使用服务器集群来提高网站的整体性能。那么,在服务器集群中,需要有一台服务器充当调度者的角色,用户的所有请求都会首先由它接收,调度者再根据每台服务器的负载情况将请求分配给某一台后端服务器去处理。在这个过程中,调度者如何合理分配任务,保证所有后端服务器都将性能充分发挥,从而保持服务器集群的整体性能最优,这就是负载均

2017-12-16 12:40:57 11975

转载 必须掌握的30种SQL语句优化

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中使用!=或3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有n

2017-12-16 12:35:21 267

转载 9种高性能可用高并发的技术架构

导读:分层架构是逻辑上的,在物理部署上,三层架构可以部署在同一个物理机器上,但是随着网站业务的发展,必然需要对已经分层的模块分离部署,即三层结构分别部署在不同的服务器上,是网站拥有更多的计算资源以应对越来越多的用户访问。1、分层分层是企业应用系统中最常见的一种架构模式,将系统在横向维度上切分成几个部分,每个部分负责一部分相对简单并比较单一的职责,然后通过上层对下层的依赖和调度组成一

2017-12-16 12:00:20 806

原创 STRUTS2.xml配置文件中action里的name和method用途解析

写这篇文章是偶尔看到这种情况——有些开发人员为了追求会用不一定清楚知晓其中含义!其实很简单,学代码嘛,重要是扎实!action中的name是当你访问action时,要在浏览器地址栏中输入的你要访问的action标记如假设action所在项目名是system那么你在浏览器中要写http://localhost:8080/system/upload而method方法

2017-12-15 09:57:08 5601

原创 Java中文件存储的两种主要形式

一般上传文件文件存储是个问题,根据不同的文件(这个可能依据你设计的系统一般都上传啥类型的文件,一般上传多大)对于普遍流行的两种方案:第一种:新增一个fileSave表,在上传文件的时候保存文件的路径和文件名字到这个数据表,以便下载的时候调取。像很多大型企业用ftp服务器进行文件的存储,这样既可以容灾以备不患,又可以实现系统各层之间不同模块分布存储!还有一种将文件以文件流的形式存储!这种

2017-12-14 17:13:14 6280

原创 struts上传文件永久保存不丢失

写这篇文章是为了解决struts2文件上传的问题,网上那些关于这方面的问题没有给出实质性的解决办法!,接下来就是先上代码,废话少说:public String uploadDocument() throws Exception {//获得要存放文档的绝对路径          String realpath = ServletActionContext.getServletContex

2017-12-14 14:18:17 412

转载 通过debug过程分析Struts2什么时候将Action对象放入了值栈ValueStack中

问题提出:1、Struts2框架在什么时候将Action对象放到了值栈ValueStack的栈顶了?2、在哪里设置Debug断点能够最恰当的观察到这一过程?问题解决:2、我们知道,在值栈ValueStack中有两个逻辑部分Map栈和对象栈ObjectStack,而Action对象是被默认放在了对象栈的栈顶的(这一点我们通过标签可以在页面中看到),因此我们将该断点设置在对

2017-12-14 10:30:12 216

原创 struts2上传文件

Strut2的Action类直接通过File类型属性直接封装了上传文件的文件内容,但这个File属性 无法获取上传文件的文件名和文件类型,所以Struts2就直接将文件域中包含的上传文件名和文件类型的信息封装到uploadFileName和 uploadContentType属性中,也就是说Struts2针对表单中名为xxx的文件域,在对应的Action类中使用3个属性来封装该文件域信息:

2017-12-13 17:10:30 271

转载 eclipse编辑环境的美化——eclipse color theme的使用

1、help----》install newsoftware----》添加新的在线安装的网址http://eclipse-color-theme.github.io/update/进行在线安装以后,重启eclipse网址的获取:在百度中搜索“eclipse color theme”  ---------》download--------》install via

2017-12-13 13:43:27 415

原创 表达式引擎——OGNL

因为在Java开发过程中,我们知道mvc各层之间的数据流转需要表达式引擎去进行转换,不管何种框架都需要用到,比如struts2用到OGNL;而spring用到springEL。不同的层次数据的存储形式不一样,下面列出所有的形式:view层——表现为字符串展现controller层——表现为Java对象Model层——表现为各种数据类型在了解ognl的时候,我们需要知道它的三要素:

2017-12-12 10:13:18 667

原创 XWork容器存储结构(对象制造工厂factory)——学习笔记

1' ContainerImpl内部所封装的两个内部实列变量:factories和factoryNamesByType;2' factories中的key存储结构中的type,name对应于“容器配置元素”中bean节点,通过type和name的组合进行唯一性寻址;3' factories中存储的内容,是Java对象(type所指向的Java类)的实列构建方法;4' 注入器(Injec

2017-12-12 09:50:39 198

原创 Container:容器,对象生命周期管理的基石——学习总结篇

接下来我要给大家介绍的就是经常在行业内熟知的对象生命周期的管理,我在学习的时候是结合源码一起学习的,这样有助于了解底层原理,为编程打下攻坚战!往往被奉为经典的两个知识点:1、控制反转;2、依赖注入。一、控制反转每个对象自身对于逻辑的执行能力,被其所依赖的对象反向控制了,这也就是控制反转的本质含义。软件之父为了解决与业务逻辑完好的解耦,从而又能实现一个额外的编程元素容器来帮助进行对象

2017-12-08 17:23:39 1016

原创 多线程并发ThreadLocal

今天要讲的话题就是网上Java一直热议的多线程并发问题的解决!这个问题在不知道的时候是很高大上,但是了解了之后也就那么一回事,原理要懂!我们知道传统web容器进行http请求处理的时候,是需要用到httpServletRequest、httpServletResponse,而servelet对象是一个无状态的单列对象(singleton),对于同一个servlet对象的多个请求,servlet

2017-12-07 17:42:22 624

navicate premium

可以连接mysql/sql server等等!非常方便好用的一款工具!

2017-11-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除