- 博客(94)
- 收藏
- 关注
原创 mysql 存储过程 和 触发器
一、存储过程DELIMITER //create procedure insert_test1(in loops int)begindeclare v1 int;set v1 = loops;while v1 > 0 do insert into test1 values('99');set v1 = v1 - 1;end while;end;/...
2016-07-05 21:31:29
177
原创 hibernate 基本查询
一、Query 接口:Query 是hibernate 专门用来执行hql语句的查询接口hql ( hibernate query language ) :支持条件查询,投影查询,分页查询,连接查询,分组查询,子查询,内置一些聚集函数,支持动态绑定参数。 1、hql 的绑定参数有两种方式 :使用 (?) , 绑定时要使用参数的位置使用 (: 参数名),绑定时要使用参...
2016-05-24 23:26:59
186
原创 hibernate 对集合属性的操作
hibernate对集合属性的操作 : 对于实体中,集合属性是延时加载的,也是是说查出实体时,不去查询集合元素,只有在获取集合元素的时候,在进行查询 一、set 集合属性操作1、set集合映射配置、set集合属性的使用在Student实例类中,添加 Set<String> hobby , 在映射文件中使用<set> 元素 : 单独创建一个表&l...
2016-05-23 23:26:53
192
原创 hibernate 基本配置
一、orm 框架的作用:将对象数据保存到关系数据库中,将关系数据库表中数据读入到对象中 二、hibernate 提供了强大的对象和关系数据库映射,查询功能强大 三、Hibernate 应用开发步骤 -设计实体类1、setter 和 getter 方法2、公共的无参数的构造方法3、对象标示符的属性4、属性是集合类型,则必须定义接口类型 List Set M...
2016-05-23 22:07:33
111
原创 zookeeper 内部原理
一、请求、事务和标示符1、读操作请求:zookeeper 服务器会在本地处理请求,所以zookeeper在处理以只读请求为主要负载时,性能会很高,我们还可以增加更多的服务器到zookeeper集群中,这样可以处理更多的读请求。2、写操作请求:zookeeper 服务器会将请求转发给leader, leader执行相应的请求,并形成状态的更新,称为一个事务。例如:一个客户端提交了一个对/...
2016-05-22 11:30:37
130
原创 zookeeper 处理状态变化
状态变化的使用场景: 从节点需要知道主要主节点挂掉,从节点需要知道任务分配给了自己,Zookeeper的客户端定时轮询Zookeeper集群状态。避免轮询的方式是,使用监听点,通过监听点,客户端可以对指定的znode节点注册一个通知请求,在发生变化时就会收到一个通知。 一、单次触发器(监视点 ): 只会触发一次事件1、监视点可以跨越不同服务端的连接而保持,当一个客户端与zookee...
2016-05-21 11:40:43
272
原创 zookeeper java api
一、建立zookeeper会话 Zookeeper(String connect , int timeout, Watcher watcher)1: Watcher : 用于接受会话事情一个对象,这个对象需要我们自己创建。客户端需要实现watcher接口来监控与zookeeper之间会话的情况。 2、如果zookeeper服务至少由三台服务器组成,那么一个服务器的故障并不会导致服务...
2016-05-19 21:10:38
106
原创 spring 外部化配置 和 装配JNDI对象
一、外部化配置1: 替换占位符 : <contect : property-placeholer location = "classpath : /db.properies"> 占位符不仅可以替换xml文件中的内容,还可以替代@value 注解的内容 2: 重写属性: 使用属性文件重写Bean属性。 3: 加密外部属性 : 需要将jasypt(类库,简化了j...
2016-05-16 00:15:07
135
原创 使用jmx管理spring bean
背景要希望在运行时改变应用的配置,可以使用java管理扩展 (jmx),能够管理、监控、配置应用使用jmx管理应用的核心组件是MBean。MBean就是公开管理接口所定义的特定方法的javabean1: 标准MBean : 标准MBean的管理接口是通过反射由Bean类所实现的固定接口而确定的2: 动态MBean : 是在运行时通过调用DynamicMBean接口的方法来确...
2016-05-15 23:34:49
130
原创 spring 消息
一、 JMS提供了应用之间的异步通信机制 : 当一个应用通过jms向另一个应用发送消息时,两个应用之间没有直接的联系。而是,发送方应用会将消息交给一个服务,由服务确保将消息投递给接收方应用。 1 : JMS 中有两个主要概念 : 消息代理和目的地 , 当一个应用发送消息时,会将消息交给一个消息代理。消息代理可以确保消息被投递目的地,同时释放发送者,使其能够继续其他业务。jms 有两种目...
2016-05-15 21:21:43
115
原创 spring rest
一、Rest的基本原理 (表述性状态转移) rest 与 rpc没有任何关系。RPC是面向服务的,并关注于行为和动作,而REST是面向资源的。1: 表述性,资源实际上可以用各种形式来进行表述。xml,json,html2: 状态当使用REST的时候,我们更关注资源的状态3: REST涉及转移资源数据,它以表述性形式从一个应用转移到了一个应用 总结:rest就是将资源的...
2016-05-14 14:27:29
140
原创 spring远程调用
一、Spring 远程调用概览1、把一个应用的某些可用功能发布为远程服务并提供给其他应用来使用,我们需要将这个应用接口的基本功能发布为远程服务。 2、spring 支持几种不同的RPC模型 包括rmi,不考虑网络限制时,访问/发布基于java的服务(很难穿越防火墙,这是因为rmi使用任意端口来交互)hessian,burlap, 考虑网络限制时,通过http访问/发布基于j...
2016-05-12 21:47:42
184
原创 jms
一、JMS : 访问企业消息系统的开发商中立的API (类似于数据库访问jdbc的api)1: jms api可以分为3个主要部分: 公共api、点对点api 和 发布/订阅api JMS公共api 内部必须使用JNDI从提供者获得ConnectionFactory,Destination 可以通过工厂(ConnectionFactory)方法在不同的API接...
2016-05-12 11:39:20
119
原创 zookeeper 基础知识
一、ZooKeeper 基础知识 1 、zookeeper 环境搭建有5台Server搭建一个zookeeper集群,这5台机器根据选举算法,选出一个leader节点,这个leader节点与其他4台Server相互通信,是长连接,当这4台Server有改动时,先将改动同步到leader节点,然后再由leader将改动同步到每一个Server。搭建好zookeeper后,就可以与Cl...
2016-05-10 09:29:49
118
原创 rpc框架
一、包含服务提供方和服务调用方 服务调用方: 代理层:将对应的接口通过rpc框架的动态代理来生成一个对象。该对象不是直接invoke调用真实类的方法,而是通过序列化封装,通过网络向server发送信息,server接受信息,通过反射机制,调用方法然后返回结果。 序列化层:1 就参数序列化成报文,2 反序列化 通信层: 1通信消息到生产者服务器,2 根据返回的报...
2016-05-09 21:50:31
143
原创 远程服务调用框架 Apache Thrift
一、 Facebook 开发的远程服务调用框架 Apache Thrift,它采用接口描述语言定义并创建服务,支持可扩展的跨语言服务开发,所包含的代码生成引擎可以在多种语言中,如 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk 等创建高效的、无缝的服务,其传输数据采用二进制格式,相对 XML 和...
2016-05-09 13:58:54
193
原创 分布式服务框架zookeeper
一、 zookeeper 数据结构 : 具有层次关系的数据结构,非常类似于一个标准的文件系统 1: 每个子目录项(如NameService,Configuration,GroupMembers,Apps 都被称作为znode),这个 znode 是被它所在的路径唯一标识,如 Server1 这个 znode 的标识为 /NameService/Server12:(临时节点)E...
2016-05-09 11:18:55
127
原创 spring web flow
Spring Web Flow 是一个web框架,适用于元素按规定流程运行的程序。是spring mvc的扩展,支持开发基于流程的应用程序。 一: Spring中使用web flow1: 流程执行器 : 驱动流程的执行,当用户进入一个流程时,流程执行器会为用户创建并启动一个流程执行实例。当流程暂停的时候,流程执行器会在用户执行操作后恢复流程。<flow : flow-ex...
2016-05-08 22:45:01
230
原创 spring 数据库访问
一: 数据访问模版化 : spring将数据访问过程中固定的和可变的部分明确划分为两个不同的类: 模板和回调 模板 : 事务控制,管理资源,处理异常 回调 : 创建语句,绑定参数,整理数据集 spring 提供了: jdbcTemplate 和 HibernateTemplate 或 JpaTemplate 二: 使用数据访问模板方式1: 将其配置为spring上下...
2016-05-04 23:10:20
127
原创 spring 事务支持
一、用4个词来表示事务: 1: 原子性: 事务是有一个或多个操作组成的一个工作单元。原子性确保事务中的所有操作全部发生或全部部发生。2: 一致性:一旦事务完成(不管成功和失败),必须确保状态是一致的3: 隔离性: 事务允许多个用户对相同的数据进行操作,每个用户的操作不会于其他用户关联。因此,事务应该被彼此隔离,避免发生同步读写相同数据的事情4: 持久性:一但事务完成,事务的结果...
2016-04-22 16:07:25
107
原创 git 使用
2.配置Git123456# 检查已有配置信息$ git config --list# 配置信息设置$ git config --global user.name "Your Name"$ git config --global user.email "email@example.com" $ git ...
2016-04-18 15:10:36
97
原创 http协议
一、http协议 : 是TCP/IP上层协议1:TCP负责确保从一个网络节点向另一个网络节点发送的文件能作为一个完整的文件到达目的地2:IP是一个底层协议,负责把数据块路由到目的地 二、http则是另一个网络协议,会话的结构是一个简单的请求/响应序列 三、 ...
2016-04-07 14:24:09
90
原创 mysql使用
查看见表语句:show create table dim_dept_saler 创建表CREATE table dim_time_v3 as SELECT 。。 csv文件 导入数据库LOAD DATA local INFILE 'D://dev_code//mail.csv' into table fact_repertory_alarm_mail...
2016-04-07 10:52:19
98
原创 pom文件(本地邮箱服务器配置)
本地邮箱服务器配置<_mail_host>smtp.jd.com</_mail_host><_mail_port>25</_mail_port><_mail_username>wangle1</_mail_username><_mail_password>lwyx@#djO0<
2016-04-07 10:46:51
2019
原创 Hive自定义UDF和聚合函数UDAF
一、Hive可以允许用户编写自己定义的函数UDF,来在查询中使用。Hive中有3种UDF: UDF:操作单个数据行,产生单个数据行; UDAF:操作多个数据行,产生一个数据行。 UDTF:操作一个数据行,产生多个数据行一个表作为输出。 二、编写自己定义的函数UDF 第一步:继承UDF或者UDAF或者UDTF,实现特定的方法...
2016-04-04 19:55:10
154
原创 定义线程池 和 死锁产生及避免
ThreadPoolExecutor 可以定义更灵活的线程池。1 : 线程池死锁如果任务依赖于其他任务,可能产生死锁。 可以通过调整线程池的大小 2: 运行时间较长的任务可以限定任务等待资源的时间,不要无限制的等待 3: 锁顺序死锁当一个程序每次获得两次以上的锁时候,就可能产出死锁。解决死锁的方式: 可以使用显示锁 ,手动释放锁 ...
2016-04-04 16:56:24
388
原创 java 虚拟机字节码执行引擎
一 运行时栈帧结构 : 栈帧分配多少内存,与运行时无关1: 局部变量表 : 容量以slot 槽为单位一个slot 占用32位长度的内存空间,可以存的类型有boolean、byte、char、short、int、float、reference、retuanaddress .reference 类型 : 表示对象引用、returnaddress 类型 指向一条字节码指令的地址二个s...
2016-04-04 12:20:42
119
原创 java 虚拟机监控
一、jdk 命令行工具1: jps 查看虚拟机进程2: jstat 监控虚拟机各种运行状态3: jinfo 查看和调整虚拟机各项参数4: jmap 用于生成堆存储快照 dump5: jhat 将jmap 生成的dump 展现出来6: jstack 堆栈跟踪工具 二、可视化工具1: JConsole 和 Visual VM ...
2016-04-04 11:12:17
138
原创 java 虚拟机垃圾回收和内存分配
一、对象是否存活的判断1: 引用计数器 (缺点 循环引用)2: 可达性分析 二、垃圾收集算法1、标记清除 ,会产生碎片2、复制算法 ,划分为大小相等的两块,只能使用一半的内存空间3、标记整理,通过将存活对象都向一段移动,然后将边界的内存清理4、分代算法: 新生代使用使用复制算法,老年代使用标记清除和标记整理hotspot实现算法: 枚举根节点、安全点、安全区...
2016-04-04 10:58:53
103
原创 负载均衡
一 1: 面对大量用户,高并发,高效率语言,大型数据库。当单机容量达到极限时,我们需要考虑业务拆分和分布式部署,来解决大型网站访问量大,并发量高,海量数据的问题 2: 集中式 和 分布式 单机网站 : 应用在一台机器中分布式 : 将应用部署到多台机器中 3: 负载均衡 : 将负载进行平衡,分摊到多个操作单元 二 负载均衡的原理1 : 纵向和衡向扩展...
2016-04-03 23:51:39
115
原创 java端如何使用redis
1.引入pom依赖(如果没用maven的话,自行引入jar包吧) 2.在容器中配置RedisTemplate实例 3: 客户端实现类
2016-04-03 23:07:50
101
原创 redis 缓存
Redis与Memcached1: value 值Redis 支持的值比较多支持: 字符串、列表、集合、散列、有序集合 2: 网络IO模型Redis 是单线程Memcached是多线程,非阻塞 3:内存管理方面 Redis使用现场申请内存的方式来存储数据 Memcached使用预分配的内存池的方式 4: 磁盘管理memca...
2016-04-03 22:55:31
108
原创 设计模式
1: 装饰者模式包装一个对象,已提供新的行为 2: 迭代器模式访问一个集合,而不暴露集合的实现 3: 策略模式封装可以相互的行为,并使用委托在行为之间切换 4:代理模式包装对象,以控制对此对象的访问 5: 工厂模式由子类决定要创建的具体类是哪一个 6:抽象工厂运行创建一个家族,而无需指定他们的具体类 7:适配器封装对象...
2016-04-03 22:44:27
92
原创 mysql 查询优化
一 优化数据访问 1:查询需要的记录 (可以在查询最后 加上 limit 10) 2: 多表关联时返回全部列 (只取需要的列) 3: 总是取出全部列 (select * 会带来额外的I/0) 二 Mysql 是否在扫描额外的记录 三 重构查询的方式1 : 一个复杂查询还是多个简单查询2 : 切分查询 3 : 分解关联查询 ...
2016-04-01 22:47:11
67
原创 mysql锁和事务
一、数据库锁1: 共享锁(读锁): 多个客户在同一时刻可以同时读取同一个资源2: 排他锁(写锁): 一个写锁会阻塞其他的其它的写锁和读锁 二、锁粒度1: 表锁 : 锁定整张表2: 行级锁: 锁定行,支持高并发 三、事务 (原子、一致、隔离、持久)1:本质是一组原子性的sql查询,如果成功执行该组查询的全部语句,那么就执行该组查询。 2: 事务隔离级别...
2016-04-01 20:43:50
93
原创 java (mapreduce)
一、java mapreduce实现 数据块1950,01950,221950,-111949,1111949,78例如:(1950,0),(1950,22),(1950,-11),(1949,111),(1949,78) 求每年的最大值 伪代码map函数public void map(LongWritable key,Text value,Co...
2016-04-01 16:54:15
99
原创 排序算法时间度
排序法最差时间分析平均时间复杂度稳定度空间复杂度冒泡排序O(n2)O(n2)稳定O(1)快速排序O(n2)O(n*log2n)不稳定O(log2n)~O(n)选择排序O(n2)O(n2)稳定O(1)二叉树排序O(n2)O(n*log2n)不稳定O(n)插入排序...
2016-03-30 21:41:57
121
原创 显示锁
1 : jdk1.5 增加了一种新的机制,ReentrantLock 2 : Lock 与 ReetrantLock : 提供了一种无条件,可轮询,定时的以及可中断的锁获取操作,所有加锁和解锁的方式都是显示的。3: 内置锁无法实现非阻塞结构的加锁规则4: 显示锁可以有效的避免死锁情况。5: ReentrantLock的构造函数中提供了两种公平性选择。非公平的...
2016-03-30 20:21:12
96
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人