- 博客(44)
- 资源 (1)
- 收藏
- 关注
原创 echarts 前端轻量级封装插件echelper
Echarts官网http://echarts.baidu.com/Echarts为百度开源的图形展示js插件,丰富的图表,齐全的api文档。使得上手非常的快。因为提供的 功能非常丰富所以相应的配置文件便很多, 当一个界面有多个图表时,option配置便显得臃肿不利于维护和快速开发。这个插件的初衷是为了快速生成图形,并且图形风格统一,增强echarts的工具栏等。可以做到前后端分离,后端提供相...
2018-08-12 22:15:05 2597
原创 GOF23-桥接模式
一、桥接模式定义:将抽象化和实现化脱耦,使得二者可以可以独立的变化。其中有三个关键字抽象化、实现化、脱耦。抽象化:一组对象能够有相同的概念联系,那么我们可以使用一个类来描述,如果一些类具有相同的概念联系,那么我们可以使用一个抽象类来描述这就是抽象化,如果更复杂我们可以使用继承用父子来描述。 实现化:一个类的实例就是这个类的实现化,也是这个类的父类的实现化。 脱耦:强耦合在编译时就确...
2019-03-12 10:43:52 666
原创 GOF23-代理模式
一、初识代理模式代理模式:控制目标对象的访问。可以详细的控制方法的前置,后置等附加功能。由代理对象引用或者调用目标类。客户端不直接与目标类联系。举个例子:在Spring aop中事物管理就是一个典型的代理例子,当把单个数据源事物交给spring管理时,我们对数据库的增删改操作时不会写数据库事物的开启、提交和回滚。当我们获取一个Service时是获取的一个代理对象,使用方法时,会做一个前置通...
2019-03-06 18:28:38 756
原创 GOF23-适配器模式
适配器模式(wrapper包装者模式):将一个接口转换成用户所需要的接口,使相互不兼容的接口一起工作。例子:笔记本、笔记本电源适配器、交流电。 在各个国家的交流电有些是不相同的,如220V、110V,而笔记本电脑充电电压基本为20V(以我的Y7000为例),是不能直接接入充电的,因此笔记本都配置了一个电源适配器。这就用到了适配器模式适配器模式中常用的角色Target(目标角色,笔记本...
2019-03-05 17:08:54 767
原创 GOF23-原型模式
原型模式:以现有对象为原型,克隆新的一模一样的对象。减少通过构造方法新建对象时分配属性、方法的权限时间。原型方法实现方式:实现Cloneable接口(标记接口)和Object.clone()方法、序列化实现复制。一、实现Cloneable接口(标记接口)和Object.clone()方法(在破解单例模式中使用过)通过java提供的Cloneable接口方式实现原型模式,分为浅克隆和深克...
2019-03-05 10:28:54 741
原创 GOF23-建造者模式
建造者模式定义:建造者模式分离了对象子组件的构造(由builder构造)和装配(由director装配)。从而可以构造出复杂的对象。适用环境:某个对象构建过程比较复杂。实现对象的创建和装配解耦,让客户端使用者只需要关心自己得到的产品而不是关心产品时怎样具体产生的(这一点类似工厂模式。)一、工厂模式与建造者模式区别及其联系1.区别 工厂模式:产生的一个产品是一个整体。 比...
2019-03-03 14:29:11 662
原创 GOF23-工厂模式
引申复习面向对象的设计的六大原则,一些设计模式中就体现了这类原则 单一职责:一个合理的类功能应该只有一个,消除耦合减少需求变化对代码的修改 开闭原则:一个类应该对扩展开启,对修改关闭。降低程序模块之间的耦合度,增加扩展性 里氏替换原则:子类应该能替换基类。 能够很好的实现功能的调整和升级,并且不影响客户端调用 依赖倒换原则:设计依赖于抽象而不是依赖于具体化。 ...
2019-03-01 17:51:11 606
原创 GOF23-单例模式
单例模式:在一个应用中一个类对应的对象只有一个。常见的单例应用:spring中默认bean为单例,JavaWeb中Application对象。在程序中有些类只需要一个对象,比如全局配置信息,公共服务对象。 单例模式能减少资源的浪费,减少程序配置的复杂度。学习了下各个实现单例的思想。理想的单例默认应有的特性:线程安全,多线程调用效率高,能延迟加载。一、单例模式实现方式1.恶汉式...
2019-02-28 15:45:58 647
原创 Java try finally return 执行顺序及其注意事项
在Java异常处理和return嵌套使用时,执行顺序的测试1.当在try中放置return 代码:public class T2 { public static void main(String[] args) { T3 t3 = new T3(); t3.say(); }}class T3{ public String...
2019-02-18 11:52:25 794 2
原创 JAVA基础知识补漏 位运算
今天看HashMap源码的时候看着这么一句return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16); 有点忘了,毕竟现在一直写业务代码,很少遇到这种代码。 这里复习一下位运算。 (这句的意思是 key为null 直接返回 0 不为null 先取hashcode 然后计算 ^ 右边的值 h无符号右移16位。 然后...
2018-11-24 17:37:48 657
原创 zookeeper基础及搭建环境
zookeeper是一个分布式协调服务,主要为分布式程序提供协调服务。zookeeper为分布式程序服务那么自己本身也要高可用,所以zookeeper本身就是分布式程序,只要半数节点存活那么zookeeper就可以提供正常服务,那么推荐部署奇数台机器 zookeeper基本提供主从协调、动态感知服务节点上下线,统一配置管理,分布式共享锁等。这么多功能总结起来就两点,管理用户程序提交过来的数据...
2018-09-29 14:36:01 610
原创 RequireJS认识及使用
最近在写前端这个坑,因为使用大量的框架并且自己的写的工具js也需要引入导致界面臃肿并且稍不注意就会出现冲突。所以使用requirejs来解决这个问题。 AMD规范:全称是Asynchronous Module Definition,即异步模块加载机制。从它的规范描述页面看,AMD很短也很简单,但它却完整描述了模块的定义,依赖关系,引用关系以及加载机制。requirejs就实现了这个规...
2018-05-27 12:56:52 1170
原创 jquery常用api及其例子
$(window).resize(); window窗口改变检测函数; var _width = document.documentElement.clientWidth; var _height = document.documentElement.clientHeight; jq得到窗口大小 不是屏幕大小hovertypeof 查看js类型网上大多数文章都提供的方法都是无效的,建议使用方法二:...
2018-05-10 11:52:58 1619
原创 Mondrian学习(3):整合到spring web项目中
前面讲了通过类似jdbc编程的方式来使用mondrian多维分析工具,显然有很多弊端。 1.这种方式通过字符串中的key-value把数据库连接,模型文件,数据库驱动都写死了。并且每次获取一个连接都要getconnetion一次。 2.一般的java web项目通过spring管理各种bean 包括数据源。这里得到连接的方法不能很好的与spring连起来 3.项目中有多个...
2018-05-03 21:23:24 3907 6
原创 Mondrian学习(2):什么是mondrian
mondrian是一个开放源码的Rolap服务器,使用java技术开发。它实现了xmla和jolap规范。并且支持由Microsoft,Hypeion等公司研究的多维查询表达式MDX(类似于sql)。 到目前关于Mondrian的资料还是相对较少。多数就是对官网上的demo基础的使用并没有具体在项目中的具体集成和使用。 Mondrian下载:https://sourceforg...
2018-04-27 23:23:37 2613
原创 Mondrian学习(1):了解Olap
前言:一直对大数据相关的东西比较感兴趣,但是又没有太多的时间系统学习,之前又一直在补JAVA的基础知识(谁叫大学耍hi了,都学得不咋样,所以欠下的都是要还的!!!)。这段时间负责的一个项目正好要用相关的技术,可以在公司明目张胆的给自己点技能树了。 联机实时分析(Olap,OnlineAnalytical Processing)是一种多维分析的解决方案。 多维分析是一种数...
2018-04-27 18:37:54 2082
原创 java socket基本理解 聊天室demo
项目demo 点击打开链接TCP三次握手的过程如下:(1)客户端发送SYN(SEQ=x)报文给服务器端,进入SYN_SEND状态。(2)服务器端收到SYN报文,回应一个SYN (SEQ=y)ACK(ACK=x+1)报文,进入SYN_RECV状态。(3)客户端收到服务器端的SYN报文,回应一个ACK(ACK=y+1)报文,进入Established状态。TCP四次挥手(1) 某个应用进程首先调用cl...
2018-04-19 17:57:18 1222
原创 weblogic12 javassit hibernate 踩坑实践
今天接到通知需要给某个地方上系统,对方的环境以及搭建好了weblogic12c ,本地开发测试是11g 10g和tomcat,所以需要拿到12c环境上测试一些。 果不其然报错了 HHH000142: java.lang.ClassCastException: Xxxxxxxxxxxxxxxxxxxxxxxxx.Org_$$_javassist_111 cannot be cast t...
2018-04-13 17:14:06 1362
原创 Java简单分析程序运行内存
先来随便拿一个Userinfo对象package com.yanghs.test.clone;import com.yanghs.common.entity.hbm.UserRole;import java.io.Serializable;import java.sql.Timestamp;import java.util.Collection;/** * @author...
2018-04-11 17:57:27 1214
原创 Collection和Map常用类和特征,及其特点
1.ArrayList 底层实现为数组,默认初始化话大小为10(1.7是在add的时候默认初始化的) ,扩容为原来的两倍,所以若果知道所要存的大概的大小就初始化时给个初始化大小,避免数组扩容损失性能,具备数组的特点,查找添加数据快,删除插入数据慢private static final int DEFAULT_CAPACITY = 10;2.LikedList 底层实现为双向链表,具备...
2018-04-10 21:50:44 1397
原创 Java并发包ReentrantReadWriteLock读写锁
读写锁ReentrantReadWriteLock简介ReentrantReadWriteLock是ReadWriteLock接口的实现,ReentrantReadWriteLock中有两个静态内部类:ReadLock读锁和WriteLock写锁,这两个锁实现了Lock接口,ReentrantReadWriteLock支持可重入,同步功能依赖自定义同步器(AbstractQueuedSynchro...
2018-03-31 23:56:56 1325
原创 ThreadLocal使用方法
ThreadLocal:用于实现线程内部的数据共享叫线程共享(对于同一个线程内部数据一致),即相同的一段代码 多个线程来执行 ,每个线程使用的数据只与当前线程有关。 实现原理:ThreadLocal相当于一个map 当前线程 存储当前的变量的时候 map.put(确定线程的唯一值(比如变量名称),变量),然后获取的时候直接拿过来就行 一般用法:定义一个全局变量ThreadLoa...
2018-03-31 17:47:48 19809 5
原创 传统线程同步通信synchronized
1.典型的生产者消费者问题 先生产再消费,A生产完后 通知B消费 B消费完后通知A 再生产 依次往复。 package com.yanghs.test.pro;/** * @author yanghs * @Description:沟通资源 * @date 2018/3/30 23:49 */public class Movie { private String pic...
2018-03-31 11:08:06 1321
原创 单例模式
单例模式:在一个程序中只有一个对象实现步骤:私有化构造函数创建静态私有化属性创建公共获得属性的方法懒汉式和恶汉式懒汉式/*懒汉式 单例模式 加synchronized解决并发问题 但是这样效率就变低了/class Sigin { /*私有化 避免外部创建*/ private static Sigin sigin = null; private Sigin(){} ...
2018-03-30 23:39:11 1246
原创 java克隆的对象
第一种实现Cloneable接口重写clone方法第二种实现Serializable序列化,深度克隆第一种:package com.yanghs.test.clone;import com.yanghs.common.entity.hbm.UserRole;import java.io.Serializable;import java.sql.Timestamp;import java...
2018-03-29 15:35:58 1278
原创 快速排序,选择排序,冒泡排序
一。快速排序从数列中选取一个数作为基数用于比较,记为cardinal将大于cardinal的数全部放在右边,将小于cardinal的数全部放在左边,进行分区再对左右两边的分区重复进行第二步,直到分区只有一个数快速排序是基于分治策略的,分治策略常用的解决方法就是二分法,递归解决上面用图走了一遍第一次快速排序,这种方法是左右交换的办法比较实用,还有挖坑填值法,可以自去看看,下面是java代码的实现pu...
2018-03-29 15:06:52 1316
原创 Jedis Spring原生整合
记录一次Jedis和Spring的原生整合 需要的jedis的jar包<!-- https://mvnrepository.com/artifact/redis.clients/jedis --> <dependency> <groupId>redis.clients</groupId> ...
2018-03-22 00:06:34 1593
原创 SpringMVC+Spring+Hibernate+Mybatis+Shiro等整合及开发(5)
前面缓存用的Ehcache,需要自己实现redis缓存 根据shiro提供的Ehcache实现shiro缓存的方式,只需要实现 Cache接口和CacheManager接口就行,先上Ehcache的bean文件 <!-- 缓存管理器 --> <!--<bean id="cacheManager" class="org.apache.shiro.cach...
2018-03-21 23:51:54 1396 1
原创 SpringMVC+Spring+Hibernate+Mybatis+Shiro等整合及开发(4)
自定义了realm安全数据源后我们要对数据源加密,其实这个也是shiro准备好了的只需要做配置就行<!-- 自定义的realm --> <bean id="userRealm" class="com.yanghs.shiro.realm.UserRealm"> <!-- 将凭证匹配器设置到realm中,realm按照凭证匹配器的要求进行...
2018-03-21 23:24:10 1368
转载 数据库事务的,隔离级别
转载地址:http://blog.csdn.net/jiesa/article/details/51317164一,事务的四个特性:原子性(Atomicity)、一致性(Consistency)、隔离型(Isolation)、持久性(Durability),简称ACID。原子性(Atomicity):事务中的操作是不可拆分的,只允许全部执行或者全部不执行一致性(Consistency):事务的执行...
2018-03-19 23:00:17 1236
原创 Java多线程基础
简单了解一下进程和线程进程:具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.(说白点可以理解为一个java程序,比如你运行了一个简单的helloword 程序那么这个程序就可以说是一个进程)线程:进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资...
2018-03-19 22:38:54 1124
原创 java web jsp界面解决资源文件路径问题
通常在界面中的资源文件比如js,图片,css等通过绝对路径和相对路径访问时,在你的机器或者在你部署的生产环境当时程序是没问题的但是当你换服务器很可能出问题,导致找不到文件,所以一般使用java直接得到服务路径代码如下,直接增加到jsp界面的头部<% String path = request.getContextPath(); String basepath = re...
2018-03-18 22:21:27 2114
原创 bootstrap 表单 label 和 input 实现左标签右输入布局
首先直接贴效果图要求就是label和input的输入框 这样排列,下面是代码 加注释 <%--首先表单垂直布局 form-horizontal --%> <div class="form-horizontal"> <fieldset> ...
2018-03-18 22:09:35 12368
原创 SpringMVC执行流程
执行流程第一步:发起请求到前端控制器(DispatcherServlet)第二步:前端控制器请求HandlerMapping查找 Handler 可以根据xml配置、注解进行查找第三步:处理器映射器HandlerMapping向前端控制器返回Handler第四步:前端控制器调用处理器适配器去执行Handler第五步:处理器适配器去执行Handler第六步:Handler执行完成给适...
2018-03-17 08:53:05 1070
原创 Mybatis SqlSessionTemplate优点
SqlSessionTemplate SqlSessionTemplate是MyBatis-Spring的核心。这个类负责管理MyBatis的SqlSession,调用MyBatis的SQL方法,翻译异常。SqlSessionTemplate是线程安全的,可以被多个DAO所共享使用。当调用SQL方法时,包含从映射器getMapper()方法返回的方法,SqlSessionTemplate将会...
2018-03-16 21:43:06 1729
转载 Servlet基础(转载,具体谁的忘记了在我的本地笔记里面)
一、 什么是Servlet看见这个词我就晕,到底是什么?我试着说清楚,从大的方面来说,它是一个在Web中生成动态内容的标准,即是用于开发Web应用程序的基本技术;从小的方面来说它是Java提供的一个接口Servlet,我们也把实现这个接口的类称为Servlet。它和CGI相对,但是它不向CGI一样每次接受一个Http请求都会创建一个进程(想想Chrome),它每次执行完它的第一个请求之后都会驻留在...
2018-03-16 21:33:39 995
原创 疯狂JAVA笔记
定义参数可变的 方法; 重载 构造器中调用其他构造器 super限定调用父类方法 初始化模块 java tostring()方法 java变量 分为 运行时和编译时 变量。 比如特殊的string a = "ssss";在编译时 就确定了。 而 new string() 就只能在运行时才知道单例类 处理行为 到运行时才知道。 用接口实现 枚举 enum 枚举使用接口实例化接...
2018-03-16 21:30:31 1146
原创 SpringMVC+Spring+Hibernate+Mybatis+Shiro等整合及开发(3)
shiro简介 一 Apache Shiro 是 Java 的一个安全框架。目前,使用 Apache Shiro 的人越来越多,因为它相当简单,对比 Spring Security,可能没有 Spring Security 做的功能强大,但是在实际工作时可能并不需要那么复杂的东西,所以使用小而简单的 Shiro 就足够了。对于它俩到底哪个好,这个不必纠结,能更简单的解决项目问题就好了。 ...
2018-03-16 21:16:29 1125
原创 Java比较两个对象相等。
Java比较两个对象相等。 一般的比较有== 和equals解释一下==号,他比较的是一个对象在内存中的地址值,比如2个字符串对象String s1 = new String("str");String s2 = new String("str");如果用==号比较,会返回false,因为创建了两个对象,他们在内存中地址的位置是不一样的。equals的情况比较复杂,它是java.lang.Obj...
2018-03-16 16:59:24 1177
j基于struts2的BBS论坛
2015-07-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人