目录 1. 工作原理 1.1 加载驱动 1.1.1 类加载相关知识 1.1.2 为什么JDK 1.6之后不需要显示加载了? 1.2 驱动加载完成了,然后呢? 2. 简单封装 1. 工作原理 一般我们主要的JDBC处理流程如下: graph TD A[注册一个Driver] -->B(建立数据库连接) B --> C(创建一个Statement) C-->D(执行SQL语句,获取结果) D-->F(关闭JDBC对象) 1.1 加载驱动 首先声明:这个阶段在1.6之后就不需要手动执行了…
开篇 在前面一篇关于规划引擎Optapalnner的文章里(Optaplanner规划引擎的工作原理及简单示例(1)),老农介绍了应用Optaplanner过程中需要掌握的一些基本概念,这些概念有且于后面的内容的理解,特别是关于将约束应用于业务规则上的理解.承上一文,在本篇中将会减一些理论,而是偏向于实践,但过程中,借助实际的场景对一些相关的理论作一些更细致的说明,也是必要的.本文将会假设我们需要对一个车间,需要制定生产计划.我们为生产计划员们设计一套智能的.自动的计划系统:并通过Optapla…
深入了解RabbitMQ工作原理及简单使用 RabbitMQ系列文章 RabbitMQ在Ubuntu上的环境搭建 深入了解RabbitMQ工作原理及简单使用 RabbitMQ交换器Exchange介绍与实践 RabbitMQ事务和Confirm发送方消息确认--深入解读 使用Docker部署RabbitMQ集群 你不知道的RabbitMQ集群架构全解 RabbitMQ简介 在介绍RabbitMQ之前实现要介绍一下MQ,MQ是什么? MQ全称是Message Queue,可以理解为消息队列的意思,…
RabbitMQ系列目录 RabbitMQ在Ubuntu上的环境搭建 深入解读RabbitMQ工作原理及简单使用 Rabbit的几种工作模式介绍与实践 Rabbit事务与消息确认 Rabbit集群搭建 使用HAProxy为RabbitMQ搭建负载均衡 REST API控制Rabbit RabbitMQ简介 在介绍RabbitMQ之前实现要介绍一下MQ,MQ是什么? MQ全称是Message Queue,可以理解为消息队列的意思,简单来说就是消息以管道的方式进行传递. RabbitMQ是一个实现了…
深入了解RabbitMQ工作原理及简单使用 RabbitMQ系列文章 RabbitMQ在Ubuntu上的环境搭建 深入了解RabbitMQ工作原理及简单使用 RabbitMQ交换器Exchange介绍与实践 RabbitMQ事务和Confirm发送方消息确认——深入解读 使用Docker部署RabbitMQ集群 你不知道的RabbitMQ集群架构全解 RabbitMQ简介 在介绍RabbitMQ之前实现要介绍一下MQ,MQ是什么? MQ全称是Message Queue,可以理解为消息队列的意思,…
Tomcat应该都不陌生,我们经常会把写好的代码打包放在Tomcat里并启动,然后在浏览器里就能愉快的调用我们写的代码来实现相应的功能了,那么Tomcat是如何工作的? 一.Tomcat工作原理 我们启动Tomcat时双击的startup.bat文件的主要作用是找到catalina.bat,并且把参数传递给它,而catalina.bat中有这样一段话: Bootstrap.class是整个Tomcat 的入口,我们在Tomcat源码里找到这个类,其中就有我们经常使用的main方法: 这个类有两个…
本博文主要简单介绍一下LVS负载均衡集群的一个基本负载均衡机制:LVS-DR:如有汇总不当之处,请各位在评论中多多指出. LVS-DR原理: LVS的英文全称是Linux Virtual Server,即Linux虚拟服务器.它是我们国家的章文嵩博士的一个开源项目.在linux内存2.6中,它已经成为内核的一部分,在此之前的内核版本则需要重新编译内核.我们都知道LVS有LVS-DR,LVS-NAT,LVS-TUN三种模式,其中DR模式意为Direct Routing(直接路由),是调度器与实际服…
在之前的文章中,老猿已介绍过APS及规划的相关内容,也对Optaplanner相关的概念和一些使用示例进行过介绍,接下来的文章中,我会自己做一个规划小程序 - 一个关于把任务分配到不同的机台上进行作来的小程序,并在这个小程序的基础上对Optaplanner中更多的概念,功能,及使用方法进行讲解.但在此之前,我需要先讲解一下Optaplanner在运行规则运算的原理.所以,本文是讲述一些关于寻找最优解的过程中的原理性的内容,作为后续通过示例深入讲解的基础.但这些原理知识不会涉及过分深奥的数学算法,…
Map-Reduce框架的运作完全基于<key,value>对,即数据的输入是一批<key,value>对,生成的结果也是一批<key,value>对,只是有时候它们的类型不一样而已.Key和value的类由于需要支持被序列化(serialize)操作,所以它们必须要实现Writable接口,而且key的类还必须实现WritableComparable接口,使得可以让框架对数据集的执行排序操作. 一个Map-Reduce任务的执行过程以及数据输入输出的类型如下所示: (…
http://www.ibm.com/developerworks/cn/linux/1305_wanghz_ddns/index.html DDNS (Dynamic DNS) 扩展了 DNS 将客户端 IP 与其域名进行静态映射的功能,它可以将同一域名实时地解析为不同的动态 IP,而不需要额外的人工干预.这在客户端 IP 地址不断发生变化的情况下,尤其是在无线网络和 DHCP 环境中,都有着极其重要的意义.本文通过分析 DDNS 的工作原理,简单演示了其在 Linux 网络协议栈的内核空间及…
http://blog.chinaunix.net/uid-23069658-id-3563960.html 一直以来,总以为CPU内部真是如当年学习<计算机组成原理>时书上所介绍的那样,是各种逻辑门器件的组合.当看到纳米技术时就想,真的可以把那些器件做的那么小么?直到看了Intel CPU制作流程及AMD芯片的制作流程的介绍不禁感慨,原来科技是如此的发达. 本文我们以Intel为例对CPU的工作原理做简单介绍,仅仅是简单介绍,那么AMD,ARM,MIPS甚至PowerPC你应该会触类旁通才对…
详情:请见阮一峰老师的日志:http://www.ruanyifeng.com/blog/2012/11/require_js.html: 导入:<script data-main="js/main" src='require.js'></script> 配置:requirejs.config({ baseUrl:'js'       //根目录,所有js存在的文件名 paths:''            //以下文档中,我们称为配置路径 }); 依赖:req…
一直以来,总以为CPU内部真是如当年学习<计算机组成原理>时书上所介绍的那样,是各种逻辑门器件的组合.当看到纳米技术时就想,真的可以把那些器件做的那么小么?直到看了Intel CPU制作流程及AMD芯片的制作流程的介绍不禁感慨,原来科技是如此的发达. 本文我们以Intel为例对CPU的工作原理做简单介绍,仅仅是简单介绍,那么AMD,ARM,MIPS甚至PowerPC你应该会触类旁通才对. 还记得那是1968年7月18日,鲍勃-诺斯和戈登-摩尔的新公司在美国加利福尼亚州,美丽的圣弗朗西斯科湾畔芒…
概念 Open vSwitch中许多网络上的概念与平时接触到的不同,这里介绍一下Open vSwitch中用到的一些名词及概念. Packet (数据包) 网络转发的最小数据单元,每个包都来自某个端口,最终会被发往一个或多个目标端口,转发数据包的过程就是网络的唯一功能. Bridge (网桥) Open vSwitch中的网桥对应物理交换机,其功能是根据一定流规则,把从端口收到的数据包转发到另一个或多个端口. Port (端口) 端口是收发数据包的单元.Open vSwitch中,每个端口都属于…
SQL 当一个新表被创建之时,系统将在磁盘中分配一段以8K为单位的连续空间,当字段的值从内存写入磁盘时,就在这一既定空间随机保存,当一个8K用完的时候, SQLS指针会自动分配一个8K的空间.这里,每个8K空间被称为一个数据页(Page),又名页面或数据页面,并分配从0-7的页号,每个文件的第0页记录引导信息,叫文件头(File header):每8个数据页(64K)的组合形成扩展区(Extent),称为扩展.全部数据页的组合形成堆(Heap). SQLS 规定行不能跨越数据页,所以,每行记录的…
keepalived的工作原理 首先简单介绍一下vrrp协议 vrrp协议 用来实现路由器冗余的协议: Vrrp协议是为了消除在静态缺省路由环境下路由器单点故障引起的网络失效而设计的主备模式的协议,使得发生故障而进行设计设备功能切换时可以不影响内外数据通信,不需要再修改内部网络的网络参数.Vrrp协议需要具有IP备份,优先路由选择,减少不必要的路由器通信等功能, Vrrp协议将两台或多台路由器设备虚拟成一个设备,对外提供虚拟路由器IP(一个或多个).而在路由器组内部,如果实际拥有这个对外IP的路…
ref内部的工作原理十分简单,其实就是将指令ref.:ref或v-bind:ref标识的元素实例存储到当前作用域的$refs对象中,那么我们就可以通过this.$refs获取对应的元素实例.但由于作用域继承上有点小窍门,所以我们能从this.$refs获取的元素实例还是需要注意一下.下面让我为你一一道来吧! 深入ref工作原理 //文件 ./src/directives/ref.ts export const ref: Directive = ({ el, ctx: { scope: { $re…
一般查询实体的时候,都需要这么使用/**      * 根据id查询      *       * @return      */     public Emp queryEmpById(Integer id)     {         String sql = "select * from emp where empno = ?";         ParameterizedRowMapper<Emp> mapper = new ParameterizedRowMapp…
前言: 之所以用ajax作为博客的开篇,是因为无论从ajax的出现还是从它的作用上来说,ajax对于前端无疑是意义重大的.甚至可以说,是ajax带来了前端这个行业.当然,历史并不能说明当下,曾经的辉煌也会有尘埃落定的时候,但对ajax而言,似乎并不如此. 正文: 一,定义:Asynchronous JavaScript and XML,意思是异步JS和XML: 解释下异步,异步是相对于同步来说的,同步即同时进行(累积多了就排队,一个一个执行,必须等上一个结束,才能到下一个),而异步就是执行到我了…
DNS协议简介 dns(Domain Name System)是一个全球化的分布式数据库系统,用于存储域名和互联网IP地址的映射关系.dns协议是计算机协议栈应用层中,应用最广泛的协议之一.用户每一次打开浏览器在互联网上遨游,都伴随着dns协议的工作,帮助我们定位互联网主机和资源. 而作为程序开发者,新项目.新应用上线时,如果需要申请新域名并进行配置和管理,也要求我们对dns协议足够了解. DNS工作原理 dns系统主要分为权威dns和递归dns. 权威dns 权威dns由域名解析服务商建设,用…
Servlet生命周期分为三个阶段: 1,初始化阶段              调用init()方法 2,响应客户请求阶段 调用service()方法 3,终止阶段           调用destroy()方法 Servlet初始化阶段: 在下列时刻Servlet容器装载Servlet: 1,Servlet容器启动时自动装载某些Servlet,实现它只需要在web.XML文件中的<Servlet></Servlet>之间添加如下代码: <loadon-startup>…
使用jdbc将mysql数据库中的内容封装为指定对象的list集合 public List<User> findAll() { private JdbcTemplate template = new JdbcTemplate(JdbcUtils.getDataSourse()); //使用jdbc操作数据库 //1.定义sql语句 String sql = "select * from user"; //2.执行sql语句 List<User> users =…
一.React简单介绍 1.React起源于Facebook内部项目,与2013年5月 2.是一个用于构建用户界面的JavaScript库 二.React特点 1.声明式设计-React采用声明范式,可以轻松描述应用 2.高效-React通过对DOM的模拟,最大限度地减少与DOM的交互 3.灵活- React可以与已知的库或框架很好的配合 4.JSX- JSX是JavaScript语法的扩展 5.组件-通过React构建组件,使得代码更加容易得到复用,能够很好的应用在大型项目的开发中 6.单向响…
 k8s官方文档:https://kubernetes.io/zh/docs/home/ 前提 掌握容器技术:Docker,Containerd等 K8S优势 使用简单,少量人/小团队可以轻松维护大型分布式系统 全面拥抱微服务架构,快速迭代,快速部署 移植性高,随时可以将系统搬迁到公有云 弹性扩容,轻松应对突发流量 K8S超强的横扩能力,增加自身竞争力 K8S资源 Pod:k8s的基本资源,由一个或者多个容器组成(sidecar) Label:附加到某个资源,方便管理与查询,可进行资源的绑定 D…
1.内部架构 CPU 的根本任务就是执行指令,对计算机来说最终都是一串由 0 和 1 组成的序列.CPU 从逻辑上可以划分成 3 个模块,分别是控制单元.运算单元和存储单元 .其内部架构如下: [1]控制单元 控制单元是整个CPU的指挥控制中心,由指令寄存器IR(Instruction Register).指令译码器ID(Instruction Decoder)和 操作控制器OC(Operation Controller) 等组成,对协调整个电脑有序工作极为重要.它根据用户预先编好的程序,依次从…
Struts2工作原理: 一个请求在Struts框架中的处理步骤: 1.客户端初始化一个指向Servlet容器(例如Tomcat)的请求: 2.这个请求经过一系列的过滤器(Filter): 3.接着FilterDispatcher(2.1.2之后是StrutsPrepareAndExecuteFilter)被调用,FilterDispatcher询问ActionMapper来决定这个请求是否需要调用某个Action: 4.如果ActionMapper决定需要调用某个Action,FilterDi…
HTML5已经不是一个新名词.它看上去很cool,有很多feature,大多数人普遍看好它的发展.对于我来说,最感兴趣的是它的canvas标签,可以结合Javascript来绘制游戏画面. 我们可以在Javascript脚本中获得页面中的canvas对象,以及它的绘图上下文: var canvas = document.getElementById("canvas"); var context = canvas.getContext("2d") 通常每个游戏会有游戏…
© 版权声明:本文为博主原创文章,转载请注明出处 Struts2工作原理 一个请求在Struts2框架中的处理步骤: 1.客户端初始化一个指向Servlet容器(例如Tomcat)的请求 2.这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的继承很有帮助,例如SiteMesh Plugin) 3.接着FilterDispatcher(2.0~2.1.2:2.1.2之后是StrutsPre…
hibernate 简介:hibernate是一个开源框架,它是对象关联关系映射的框架,它对JDBC做了轻量级的封装,而我们java程序员可以使用面向对象的思想来操纵数据库.hibernate核心接口session:负责被持久化对象CRUD操作sessionFactory:负责初始化hibernate,创建session对象configuration:负责配置并启动hibernate,创建SessionFactoryTransaction:负责事物相关的操作Query和Criteria接口:负责…
Hibernate工作原理及为什么要用? 原理:1.通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件2.由hibernate.cfg.xml中的<mapping resource="com/xx/User.hbm.xml"/>读取并解析映射信息3.通过config.buildSessionFactory();//创建SessionFactory4.sessionFactory.openSession();//打…