自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(172)
  • 收藏
  • 关注

转载 第6章 面向对象的程序设计

面向对象(Object-Oriented,OO)的语言有一个标志,那就是它们都有类的概念,而通过类可以创建任意多个具有相同属性和方法的对象。前面提到过,ECMAScript中没有类的概念,因此它的对象也与基于类的语言中的对象有所不同。 ECMA-262把对象定义为:“无序属性的集合,其属性可以包含基本值、对象或者函数。”严格来讲,这就相当于说对象是一组没有特定顺序的值。对象的每个属性或方法都有一个

2016-05-05 21:58:04 470

转载 ActiveMQ入门实例 - ActiveMQ教程

1.下载ActiveMQ去官方网站下载:http://activemq.apache.org/2.运行ActiveMQ解压缩apache-activemq-5.5.1-bin.zip,然后双击apache-activemq-5.5.1\bin\activemq.bat运行ActiveMQ程序。启动ActiveMQ以后,登陆:http://localhost:8161/admin/,创建一个Queue

2016-05-05 11:31:21 452

转载 Apache ActiveMQ教程(一)

一、特性及优势1、实现JMS1.1规范,支持J2EE1.4以上 2、可运行于任何jvm和大部分web容器(ActiveMQ works great in any JVM) 3、支持多种语言客户端(java, C, C++, AJAX,ACTIONSCRIPT等等) 4、支持多种协议(stomp,openwire,REST) 5、良好的spring支持(ActiveMQ has great S

2016-05-05 11:22:24 620

转载 Groovy Tutorial for Java Developers – Part 1: The Basics

Groovy is an object-oriented programming language which could be described as Java paired with a dynamic scripting language like JavaScript or Python. You can use Groovy in two different “modes”: You c

2016-05-05 11:19:00 445

转载 Extjs4 grid的排序

grid支持两种排序方法 一种是前端排序,不请求后台本页面列字段进行排序,在grid的列中设置属性sortable: true, 第二种排序是后台排序,请求后台对整个数据进行排序,在store中设置属性remoteSort: true, 第一种排序代码:var grid = Ext.create('Ext.grid.Panel', { title: '任务计划管理列表', r

2016-05-04 11:33:34 3170

转载 依赖倒置原则(Dependence Inversion Principle)

一、 依赖倒置原则的定义依赖倒置原则(Dependence Inversion Principle,简称DIP) 依赖倒置原则的原始定义是: High level modules should not depend upon low level modules. Both should depend up on abstractions. Abstractions should not depe

2016-04-19 15:44:29 641 1

转载 程序员你为什么迷茫?

你曾经充满热情,是一位开源软件倡导者,你崇尚全栈工程师才有未来的理念,你渴望改变世界。但是现在你每天都处于焦虑之中,你每天不断地学习各种技术Kotlin、Swift、React Native、RxJava、Hybrid思想等等等各种新技术,只有你在微博转发各种新技术文章的时候你才稍微轻松一些,这样会让你觉得不至于被快速发展的技术抛到后头。 你开始在知乎上提问:“意识到了自己没有办法成为 top 1

2016-04-19 15:16:49 586

转载 extern "C"的用法解析

1.引言C++语言的创建初衷是“a better C”,但这并不意味着C++中类似C语言的全局变量和函数所采用的编译和链接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方式与C有明显的不同。2.从标

2016-04-19 11:40:28 209

转载 第6 章 面向对象的程序设计

向对象(Object-Oriented, OO)的语言有一个标志,那就是它们都有类的概念,而通过类可以创建任意多个具有相同属性和方法的对象。前面提到过, ECMAScript中没有类的概念,因此它的对象也与基于类的语言中的对象有所不同。 ECMA-262 把对象定义为:“无序属性的集合,其属性可以包含基本值、对象或者函数。”严格来讲,这就相当于说对象是一组没有特定顺序的值。对象的每个属性或方法都有

2016-04-09 15:03:15 543

转载 用ognl还是jstl+el?

Struts推荐使用功能更加强大的Ognl表达式。El可以完成的功能,Ognl也可以,El不能完成的功能,Ognl也可以。 但是有些程序员,已经习惯了jsp中结合jstl和el表达式,我们可以有两种解决方案: 1.使用struts2自带的标签库,jsp中使用ognl进行操作。 2.不是用struts2自带的标签库,jsp直接结合jstl+el进行操作。 jsp2.0中默认启动对el表达式的支

2016-04-08 10:19:54 521

转载 el表达式跟ognl表达式的区别

EL表达式:单纯在jsp页面中出现,是在四个作用域中取值:page,request,session,application.如果在struts环境中,它除了在上面的四个作用域取值外,还能从值栈(valuestack)中取值.特点1:${name},name在值栈中的查找顺序是:先从对象栈中取,取到终止,否则,向map中取。特点2:在对象栈的查找顺序是,先从model中找是否有name这个属性

2016-04-08 10:06:01 310

转载 golang利用组合实现继承

package main import "fmt"type Base struct { Name string}func (b *Base) SetName(name string) { b.Name = name}func (b *Base) GetName() string { return b.Name}// 组合,实现继承type Child struct

2016-04-07 14:01:27 750

转载 go语言的中“继承”

go语言是没有继承的,但结构体支持匿名字段,可以利用这个来实现“继承”。 类Human。有2个字段:name,sex。有2个方法:walk,eat。 类SuperMan。有3个字段:Human,name,level。有2个方法:eat,fly。 这是标准说法,但你可以这么理解:SuperMan继承了Human,当然同样继承了所有字段和所有方法。同时又加入了自己的两个字段,其中有一个字段和父类是

2016-04-07 13:52:04 2763

转载 golang继承,和多态

package main type ST struct{ } func (s *ST)Show(){ println("ST") } func (s *ST)Show2(){ println("ST:Show2()") } type ST2 struct{ ST I int } func (s *ST2)Show(){

2016-04-07 13:44:29 550

转载 Golang之继承模拟

问题由一个需求引起:web的controller,希望创建一个基类,然后在子类的controller中定义action方法,基类有一个run函数能根据字符串自动找到子类的action方法。 如何解决呢? – 用继承示例分析继承首先这个需求是很普遍的,由于脑中有继承概念,所以想当然地以为这个很容易实现:package mainimport( "reflect")type A struct

2016-04-07 13:39:39 370

转载 xss攻击入门

SQL注入攻击中以SQL语句作为用户输入,从而达到查询/修改/删除数据的目的,而在xss攻击中,通过插入恶意脚本,实现对用户游览器的控制。xss攻击可以分成两种类型:非持久型攻击持久型攻击下面我们通过具体例子,了解两种类型xss攻击。1.非持久型xss攻击顾名思义,非持久型xss攻击是一次性的,仅对当次的页面访问产生影响。非持久型xss攻击要求用户访问一个被攻击者篡改后的链接,用户访问该链接时

2016-04-05 11:57:28 675

原创 spring security 4. Security Namespace Configuration

4.1 IntroductionNamespace configuration has been available since version 2.0 of the Spring framework. It allows you to supplement(增补,补充; ) the traditional Spring beans application context syntax with

2016-03-31 19:31:57 1494

转载 文章标题

一、数据库表有5个:users、roles、perms、users_roles、roles_perms。/* Navicat MySQL Data Transfer Source Server : localhost_3306 Source Server Version : 50154 Source Host : localhost:3306 S

2016-03-29 12:58:08 233

转载 spring security 3.1中基于数据库自定义验证授权功能实现

一、数据库表有5个:users、roles、perms、users_roles、roles_perms。/* Navicat MySQL Data Transfer Source Server : localhost_3306 Source Server Version : 50154 Source Host : localhost:3306 S

2016-03-29 11:48:27 711

转载 Spring Security笔记:使用数据库进行用户认证(form login using database)

一、项目结构与前面的示例相比,因为要连接db,所以多出了一个spring-database.xml用来定义数据库连接,此外,为了演示登录用户权限不足的场景,加了一个页面403.jsp,用来统一显示权限不足的提示信息二、数据库表结构(oracle环境)create table T_USERS( d_username VARCHAR2(50) not null, d_password VARC

2016-03-29 11:31:39 659

转载 数据库分库分表(sharding)系列(四) 多数据源的事务处理

系统经sharding改造之后,原来单一的数据库会演变成多个数据库,如何确保多数据源同时操作的原子性和一致性是不得不考虑的一个问题。总体上看,目前对于一个分布式系统的事务处理有三种方式:分布式事务、基于Best Efforts 1PC模式的事务以及事务补偿机制。分布式事务这是最为人们所熟知的多数据源事务处理机制。优势: 1. 基于两阶段提交,最大限度地保证了跨数据库操作的“原子性”,是分布式系统下

2016-03-28 14:17:28 368

转载 数据库分库分表(sharding)系列(三) 关于使用框架还是自主开发以及sharding实现层面的考量

当团队对系统业务和数据库进行了细致的梳理,确定了切分方案后,接下来的问题就是如何去实现切分方案了,目前在sharding方面有不少的开源框架和产品可供参考,同时很多团队也会选择自主开发实现,而不管是选择框架还是自主开发,都会面临一个在哪一层上实现sharding逻辑的问题,本文会对这一系列的问题逐一进行分析和考量。一、sharding逻辑的实现层面从一个系统的程序架构层面来看,sharding逻辑可

2016-03-28 14:15:10 262

转载 数据库分库分表(sharding)系列(二) 全局主键生成策略

本文将主要介绍一些常见的全局主键生成策略,然后重点介绍flickr使用的一种非常优秀的全局主键生成方案。第一部分:一些常见的主键生成策略一旦数据库被切分到多个物理结点上,我们将不能再依赖数据库自身的主键生成机制。一方面,某个分区数据库自生成的ID无法保证在全局上是唯一的;另一方面,应用程序在插入数据之前需要先获得ID,以便进行SQL路由。目前几种可行的主键生成策略有: 1. UUID:使用UUID

2016-03-28 14:08:08 270

转载 数据库分库分表(sharding)系列(一) 拆分实施策略和示例演示

第一部分:实施策略图1.数据库分库分表(sharding)实施策略图解1.准备阶段对数据库进行分库分表(Sharding化)前,需要开发人员充分了解系统业务逻辑和数据库schema.一个好的建议是绘制一张数据库ER图或领域模型图,以这类图为基础划分shard,直观易行,可以确保开发人员始终保持清醒思路。对于是选择数据库ER图还是领域模型图要根据项目自身情况进行选择。如果项目使用数据驱动的开发方式,团

2016-03-28 14:02:14 322

转载 数据库Sharding的基本思想和切分策略

一、基本思想Sharding的基本思想是把一个数据库切分成多个部分放到不同的数据库(server)上,从而缓解单一数据库的性能问题。不太严格的讲,对于海量数据的数据库,如果是因为表多而数据多,这时候适合使用垂直切分,即把关系紧密(比如同一模块)的表切分出来放在一个server上。如果表并不多,但每张表的数据非常多,这时候适合水平切分,即把表的数据按某种规则(比如按ID散列)切分到多个数据库(serv

2016-03-28 13:54:44 215

转载 数据库Sharding的基本思想和切分策略

一、基本思想Sharding的基本思想是把一个数据库切分成多个部分放到不同的数据库(server)上,从而缓解单一数据库的性能问题。不太严格的讲,对于海量数据的数据库,如果是因为表多而数据多,这时候适合使用垂直切分,即把关系紧密(比如同一模块)的表切分出来放在一个server上。如果表并不多,但每张表的数据非常多,这时候适合水平切分,即把表的数据按某种规则(比如按ID散列)切分到多个数据库(serv

2016-03-28 13:54:31 261

转载 千万级并发实现的秘密:内核不是解决方案,而是问题所在!

摘要:C10K问题让我们意识到:当并发连接达到10K时,选择不同的解决方案,笔记本性能可能会超过16核服务器。对于C10K问题,我们或绕过,或克服;然而随着并发逐渐增多,在这个后10K的时代里,你是否有想过如何去克服C10M。 既然我们已经解决了C10K并发连接问题,应该如何提高水平支持千万级并发连接?你可能会说不可能。不,现在系统已经在用你可能不熟悉甚至激进的方式支持千万级别的并发连接。 要

2016-03-24 09:40:19 264

转载 c10k问题

c10k问题,指的是服务器同时支持成千上万个客户端的问题,也就是concurrent 10 000 connection(这也是c10k这个名字的由来)。由于硬件成本的大幅度降低和硬件技术的进步,如果一台服务器能够同时服务更多的客户端,那么也就意味着服务每一个客户端的成本大幅度降低,从这个角度来看,c10k问题显得非常有意义。 为了解决C10K问题,有各种各样的IO策略,它们的分歧或者说不同之处大

2016-03-24 09:30:36 323

转载 Qt教程 第三章:家庭价值

这个例子演示了如何创建一个父窗口部件和子窗口部件。我们将会保持这个程序的简单性,并且只使用一个单一的父窗口部件和一个独立的子窗口部件。#include <qapplication.h>#include <qpushbutton.h>#include <qfont.h>#include <qvbox.h>int main( int argc, char **argv ){ QAppli

2016-03-23 13:02:56 310

转载 Qt教程 第二章:调用退出

你已经在第一章中创建了一个窗口,我们现在使这个应用程序在用户让它退出的时候退出。 我们也会使用一个比默认字体更好的一个字体。 “include include include 一行一行地解说#include <qfont.h>因为这个程序使用了`QFont`,所以它需要包含`qfont.h`。Qt的字体提取和X中提供的可怕的字体提取大为不同,字体的载入和使用都已经被高度优化了。 QPus

2016-03-23 13:00:39 361

转载 Qt教程 第一章:Hello, World!

第一个程序是一个简单的Hello World例子。它只包含你建立和运行Qt应用程序所需要的最少的代码。#include <qapplication.h>#include <qpushbutton.h>int main( int argc, char **argv ){ QApplication a( argc, argv ); QPushButton hello( "Hello

2016-03-23 12:57:45 353

转载 基于PyQt(Python+QT)的gui程序开发

首先需要引用from PyQt4 import QtGui, uic, QtCore 很多控件像QPushButton是从QtGui的空间中得来的,下面def __init__(self, parent=None)中定义了界面的设计及与控件相互联系的方法。class AddressBook(QtGui.QWidget): def __init__(self, parent=None)

2016-03-23 12:42:55 919

转载 java aio 编程

Java NIO (JSR 51)定义了Java new I/O API,提案2000年提出,2002年正式发布。 JDK 1.4起包含了相应的API实现。 JAVA NIO2 (JSR 203)定义了更多的 New I/O APIs, 提案2003提出,直到2011年才发布, 最终在JDK 7中才实现。 JSR 203除了提供更多的文件系统操作API(包括可插拔的自定义的文件系统), 还提供了

2016-03-23 09:12:44 352

转载 工作容易,赚钱很难

李宗盛有首歌的歌词里写到:「工作是容易的,赚钱是困难的」。乍一听感觉有点矛盾,工作的一个重要结果不就是赚钱么,为什么工作容易赚钱却难?但仔细一想就恍然其中想表达的意思了。工作的本质是出售劳动价值,通过工作赚到的钱是对劳动价值的价格度量,也即劳动的市场价格。而劳动的市场价格总是围绕价值上下波动,有可能折价也可能溢价,但总不会偏离价值本身太远。所以歌词里的意思可能是,你随便找份工作来养家糊口可能还算容易

2016-03-23 09:03:39 737

转载 为啥公司愿花更多钱从外面招人

要是你有心留意,可能会发现这样的现象:公司新招来的程序员,经验、技能、经历、学历都和你差不多,薪水却比一直待在公司的你高。 为什么?为什么公司愿意花更多的钱招聘新人也不给老员工加薪?这是很多人都遇到过的问题。怎么解释呢?1. 奖励工资的必要性强烈推荐一本书——《牛奶可乐经济学》。这本书第 3 章,“职场的奥秘”,里面就有一个问题:为了吸引到想要的高素质员工,或为了吸引到足够数量的员工,为什么雇主有

2016-03-23 08:56:08 255

转载 java序列化和反序列话总结

序列化:将java对象转换为字节序列的过程叫做序列化 反序列化:将字节对象转换为java对象的过程叫做反序列化 通常情况下,序列化有两种用途: 1) 把对象的字节序列永久的保存在硬盘中 2)在网络上传输对象的字节序列 相应的API  java.io.ObjectOutputStream          writeObject(Object obj)  java.io.ObjectInpu

2016-03-22 13:27:53 360

转载 ActiveMQ入门实例

1.下载ActiveMQ去官方网站下载:http://activemq.apache.org/2.运行ActiveMQ解压缩apache-activemq-5.5.1-bin.zip,然后双击apache-activemq-5.5.1\bin\activemq.bat运行ActiveMQ程序。启动ActiveMQ以后,登陆:http://localhost:8161/admin/,创建一个Queue

2016-03-20 22:35:59 200

转载 JMS简介与ActiveMQ实战

1. JMS架构Java消息服务(Java Message Service,简称JMS)是用于访问企业消息系统的开发商中立的API。企业消息系统可以协助应用软件通过网络进行消息交互。JMS在其中扮演的角色与JDBC很相似,正如JDBC提供了一套用于访问各种不同关系数据库的公共API,JMS也提供了独立于特定厂商的企业消息系统访问方式。 使用JMS 的应用程序被称为JMS客户端,处理消息路由与传递的

2016-03-20 22:28:28 669

转载 grails简介

如今的Java Web开发对于需求来说已经变得过于复杂。当今众多Java领域的Web开发框架不仅使用复杂,而且并没有很好的遵循Don’t Repeat Yourself(DRY)原则。 像Rails,Django和TurboGears这样的动态框架在Web开发领域开辟了一条新的道路,Grails基于这些概念之上,采用动态方法减小了Java平台上进行Web开发的复杂度,不过与那些框架不同的是,Gra

2016-03-18 13:11:42 392

转载 Generics

Ordinary classes and methods work with specific types: either primitives or class types. If you are writing code that might be used across more types, this rigidity can be overconstraining.One way tha

2016-03-18 13:04:36 337

空空如也

空空如也

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

TA关注的人

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