JVM原理分析,看了都说好
1什么是JVM?JVM是JavaVirtualMachine(Java虚拟机)的缩写,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。由一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域等组成。JVM屏蔽了与操作系统平台相关的信息,使得Java程序只需要生成在Java虚拟机上
get请求和post请求的区别
对参数的数据类型,GET只接受ASCII字符,而POST没有限制,允许二进制。GET在浏览器回退/刷新时是无害的,而POST会再次提交请求。GET请求只能进行url编码(application/x-www-form-urlencoded),而POST支持多种编码方式(application/x-ww
Redis AOF 持久化图解
Redis是一种内存数据库,将数据保存在内存中,读写效率要比传统的将数据保存在磁盘上的数据库要快很多。但是一旦进程退出,Redis的数据就会丢失。为了解决这个问题,Redis提供了RDB和AOF两种持久化方案,将内存中的数据保存到磁盘中,避免数据丢失。RDB的介绍在这篇文章中《RedisRDB持久化
没想到一个简单的缓存居然能有这么多策略
我们都知道,提高系统性能的最简单也最流行的方法之一其实就是使用缓存。我们引入缓存,相当于对数据进行了复制。每当系统数据更新时,保持缓存和数据源(如MySQL数据库)同步至关重要,当然,这也取决于系统本身的要求,看系统是否允许一定的数据延迟。在这篇文章里,我想给你们介绍最常见的几种缓存策略、它们的优缺
AOP框架Dora.Interception 3.0 「2」: 实现原理
和所有的AOP框架一样,我们必须将正常的方法调用进行拦截,才能将应用到当前方法上的所有拦截器纳入当前调用链。Dora.Interception采用ILEimit的方式实现对方法调用的拦截,接下来我们就来聊聊大致的实现原理。一、与依赖注入框架的无缝集成由于Dora.Interception是为.NET
程序员成长的四个简单技巧,你 get 了吗?
最近拜读了“阿里工程师的自我修养”手册,12位技术专家分享生涯感悟来帮助我们这些菜鸡更好的成长,度过中年危机,我收获颇多,其中有不少的方法技巧和我正在使用的,这让我觉得我做的这些事情是对的,我走在了一条正确的道路上。我们程序员这个行业不像医生、律师等其他行业,那些行业可谓是越老越吃香,但是我们不一样
探索c#之Async、Await剖析
基本介绍Async、Await是net4.x新增的异步编程方式,其目的是为了简化异步程序编写,和之前APM方式简单对比如下。APM方式,BeginGetRequestStream需要传入回调函数,线程碰到BeginXXX时会以非阻塞形式继续执行下面逻辑,完成后回调先前传入的函数。HttpWebReq
C#语法——委托,架构师必修
C#语法——委托,架构的血液本篇文章主要介绍委托的应用。委托是大家最常见的语法了,但会用与精通之间的差别是巨大的。一个程序员如果不能精通委托,那么,他永远无法成为一个架构师。所以,委托是必须掌握的技能之一。委托的定义什么是委托?委托实际上是一种类型,是一种引用类型。微软用delegate关键字来声明
JavaScript模块化编程
模块是实现特定功能的一组方法,模块化是一种规范、一种约束,这种约束会大大提升开发效率。JS模块化思想是将每个JS文件看作是一个模块,每个模块通过固定的方式引入,并且通过固定的方式向外暴露指定的内容。模块化需要实现的功能1.解决命名冲突。当代码达到一定规模,功能很多的时,命名冲突就会出现,模块化可以很
学习Java需要注意10大雷区,你踩过几个?
1.研究太多,实践太少在编程方面缺乏实践是十分致命的。从第一天开始学习,就要每天练习编程。就如同学习拳击或跳舞,如果只通过视频学习,永远也学不会这些。除非你把练习编程变成一种日常习惯,否则永远不会对编程有信心。2.没有目标的无休止盲目学习据千锋广州Java开发的老师介绍,有些学生,尽管年龄大,却只是
HTML5开发常见的7个框架,你最常用哪个?
1、SiimplerSiimpler是个简单的HTML开发框架,他可以通过选择你自己喜欢的部分,来帮助你迅速又简单地创建HTML5开发结构。网络设计者们也可以通过使用Siimpler框架类的文件和文件夹来无缝的开始一个Web项目。2、IonicIonic是个神奇的框架和强大前端开源系统,使用先进的W
asp.net开发:浅谈IHttpHandler
asp.net从webform发展到asp.netmvc,变化可谓巨大,我个人感觉asp.netmvc让web开发真正实现了前后端分离,用过mvc的小伙伴都知道,后端和前端交互的就是通过api接口,在mvc中定义API只需要定义一个控制器即可,微软为我们简化了定义Api的方式,但是我们也需要搞清楚背
用 node.js 模仿 Apache 的部分功能
首先,这个例子用到了服务端渲染的技术。服务端渲染,说白了就是在服务端使用模板引擎,这里我先简单的介绍一下服务端渲染与客户端渲染之间的区别。服务端渲染与客户端渲染之间的区别:客户端渲染不利于搜索引擎优化服务端渲染可以被爬虫抓取到,而客户端异步渲染很难被爬虫抓取到(例如:AJAX)大部分的网站既不是纯异
Entity FrameWork的缺点和常用优化技巧
要说目前c#中最流行的框架,那非EntityFrameWork莫属了,无论刚毕业的,或刚从培训机构出来的,熟练使用EntityFrameWork是刚需。但是能用好EntityFrameWork的人少之又少,本人所在公司有很多新毕业的学生,由于公司主项目需要很多插件,所以一些功能简单的小插件都会交付给
Docker资源限制相关知识
Whatis资源限制?默认情况下,容器是没有资源限制的,它会尽可能地使用宿主机能够分配给它的资源。Docker提供了一种控制分配多少量的内存、CPU或阻塞I/O给一个容器的方式,即通过在dockerrun或dockercreate命令时设置运行时配置的标志。其中许多功能都要求您的内核支持Linux功
Zookeeper 集群如何高可用部署?
文章转载于公众号:涤生的博客介绍Zookeeper我想大家都不陌生,在很多场合都听到它的名字。它是Apache的一个顶级项目,为分布式应用提供一致性高性能协调服务。可以用来做:配置维护、域名服务、分布式锁等。有很多开源组件,尤其是中间件领域,使用Zookeeper作为配置中心或者注册中心。例如,它是
JVM源码分析之堆外内存(直接内存)
1、堆外内存定义内存对象分配在JVM中堆以外的内存,也可以称为直接内存,这些内存直接受操作系统管理(而不是JVM),这样做的好处是能够在一定程度上减少垃圾回收对应用程序造成的影响。一般我们使用Unsafe和NIO包下ByteBuffer来创建堆外内存。2、为什么使用堆外内存1、减少了垃圾回收使用堆外
十个问题带你了解和掌握Java HashMap
一、前言本篇内容是源于“由阿里巴巴Java开发规约HashMap条目引发的故事”,并在此基础上加了自己的对HashMap更多的思考认识和整理。并且作为一名java开发工程师,应该是要了解和掌握的这些知识!在《阿里巴巴java开发规约中》提到:【推荐】集合初始化时,指定集合初始值大小。说明:HashM
【入门】分布式Session一致性入门简介
Session简介是什么?Session在网络中表示“会话控制”,用于存储特定用户所需的属性和其他的配置信息;Session表示一个特定的时间间隔,可以指用户从登陆系统到注销退出系统之家的时间。为什么出现?因为http是一种无状态协议,如果没有Session的话,服务器无法识别请求是否来自同一个用户
关于javascript获取元素结点title属性的问题在注释中
<!DOCTYPEHTML><html><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"><title>getAttribute()</titl