
Java
little_color
多多交流啊!
展开
-
JAVA.JUC总结
原创 2023-12-19 21:24:21 · 465 阅读 · 0 评论 -
java中的集合(一)
总觉得很久没有总结一些基础知识了。很空虚,所以想着那就总结一下java中的集合类吧。常用的集合类有ArrayList,LinkList,Vector,HashMap,HashTable,HashSet这几种。主要通过对比这些集合之间的区别和内部机制来总结一下各自的特点。1、ArrayList和LinkList和Vector三者的共同点是都实现了List接口不同点:1、内部实现Arra...原创 2020-01-17 16:27:20 · 131 阅读 · 0 评论 -
代理模式深入学习(二)——实现动态代理对事务的封装
前两篇博客已经为这篇博客做了很多铺垫,从动态代理的实现衍生原理到threadLocal来封装事务,到最后真正的利用动态代理来封装事务。缺少每一 步都似乎显得有些冒进了!现在剩下的就只是把先前封装好的事务加进到写好的动态代理类中就好了!动态代理与事务结合package com.bjpowernode.drp.util;import java.lang.reflect.InvocationHa原创 2015-10-18 16:37:43 · 1464 阅读 · 4 评论 -
【dubbo】dubbo服务注册三种方式
dubbo官方提供了三种注册方式。分别是:1、利用main方法进行服务注册2、利用tomcat容器3、利用dubbo官方提提供的com.alibaba.dubbo.container.Main方法三种方式各有利弊。这篇文章以一个简单的例子来简单的介绍一下这三种注册方式,在看这篇博客前,相信已经熟悉dubbo+zk的架构和项目中成员的组成了。Main方法这种方式需要在项目中新建一个类来专门执原创 2016-06-23 11:25:44 · 26816 阅读 · 2 评论 -
【Jenkins】包含dubbo服务的war包自动部署tomcat
在jenkis自动集成完项目后,需要将打成的war包部署到web应用服务器上,这里使用tomcat。jenkins自动集成后部署tomcat有很多种方式。这里使用了插件和python脚本两种方式。两种方式各有利弊,根据自己项目的需要选择不同的方式即可。deploy to container插件部署1、需要在tomcat中添加用户,这个用户必须是管理员权限。 <role rolename="to原创 2016-07-11 19:30:50 · 5551 阅读 · 0 评论 -
IDEA自动编译设置-限于springboot
idea默认是不能进行自动编译的,但是它也同样提供了自动编译的功能,只是需要我们手动设置一下。不然合并过代码后,没有自动编译,就需要rebuild来查看错误,如果能进行自动编译,就可以直接提示我们了,会省很多事儿呢。如果是经常开发页面的话,HTML,css,js经常需要改动的,如果每次都重启岂不累死了。一、Setting设置 将Make project automatica原创 2017-04-28 14:20:08 · 52782 阅读 · 3 评论 -
java内部类的相关总结
内部类,故名思议,定义在一个类中的另一类。面向对象程序设计中,可以在一个类的内部定义另一个类。嵌套类分为两种,即静态嵌套类和非静态嵌套类。静态嵌套类使用很少,最重要的是非静态嵌套类,也即是被称作为内部类(inner)。一定义内部类class Outer{ int x=3; class Inner{ //内部类 int x=4 void ...原创 2018-02-23 17:19:34 · 260 阅读 · 1 评论 -
java二叉排序算法实现
参考至:https://www.cnblogs.com/mzct123/p/8288047.html简要分析:BinaryTree:二叉排序树的类,包括二叉排序添加元素的方法,和顺序打印方法。其中每个二叉树都包含一个root节点。小。Node:节点子类:节点类,包括节点数据,左节点(左子树)和右节点(右子树),还包括向节点中添加子节点addNode的方法。其中节点数据data是compara...原创 2019-03-29 14:07:26 · 304 阅读 · 1 评论 -
springboot中通过拦截器实现用户登录
开始是通过过滤器来实现这个功能的,但是发现通过过滤器实现,后续有许多延伸的问题需要去解决,比较麻烦,于是改成通过拦截器来实现。过滤器和拦截器区别那么过滤器和拦截器有什么根本的区别呢? ①拦截器是基于java的反射机制的,而过滤器是基于函数回调。 ②拦截器不依赖与servlet容器,过滤器依赖与servlet容器。 ③拦截器只能对action请求起作用,而过滤器则可以对几乎所有...原创 2019-01-07 18:12:33 · 1199 阅读 · 0 评论 -
JAVA通过Filter实现允许服务跨域请求
概念 在 HTML 中,&lt;a&gt;, &lt;form&gt;, &lt;img&gt;, &lt;script&gt;, &lt;iframe&gt;, &lt;link&gt; 等标签以及 Ajax 都可以指向一个资源地址, 而所谓的跨域请求就是指:当前发起请求的域与该请求指向的资源所在的域不一样。原创 2018-11-23 16:58:36 · 2595 阅读 · 1 评论 -
MongoDb简介
最近项目中用到了mongodb,于是简单学习了一下。之前以为mongodb和redis是同样的方式存储的,真正学习了才发现二者还是有很大差异的。MONGODB简介MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。 它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。mongodb的数据结...原创 2018-06-21 15:52:51 · 581 阅读 · 0 评论 -
java利用数字和字母随机组合生成随机数
思路:如果区分大小写的话,那么大写算是一类,小写算是一类,数字算是一类,那么通过 Random rand=new Random();这行代码随机生成代表每一类的的生成器。如果随机产生的值为0,则产生的是数字,如果随机产生的是1,则代表要产生大写字母,如果随机产生的值为2,则代表要产生小写字母种类。这样,每一位产生的种类都是随机的,每一类中具体产生的内容则用另一个随机生成器来随机生成...原创 2018-04-25 19:34:36 · 7103 阅读 · 2 评论 -
java生成二维码
原创 2018-05-09 18:15:18 · 323 阅读 · 0 评论 -
【多线程实践】newFixedThreadPool 固定线程池使用
线程池分类:FixThreadPoolCachedThreadPoolScheduledThreadPoolSingleThreadPool详细了解点击几种线程池的简单介绍及代码示例这里简单介绍有关项目中实践中使用的固定线程池的用法。场景介绍 在一个业务逻辑中需要同时生成7份合同(pdf)格式,在生成合同的同时, 不仅需要调用一些外部接口去获取合同中的...原创 2018-03-29 14:27:47 · 9160 阅读 · 1 评论 -
【Spring实践】运用Spring封装好的ApplicationContext实现策略模式+反射
之前一篇文章写过有关设计模式的博客:策略模式+简单工厂实现消费金额的计算ps:这篇博客是最开始学习VB语言的时候写的,当时还不懂spring,写的比较简单。本篇博客是有关在项目中通过spring来实现策略模式+反射,从而灵活扩展业务实现类。spring本身已经将反射的功能很好的封装了。我们进一步封装一个关于反射的工具类代码如下:SpringContextHolder 工具类...原创 2018-03-29 18:34:28 · 1528 阅读 · 0 评论 -
OA中BaseDao抽象设计思路梳理
最近在做OA时,发现BaseDao的设计怎么这么眼熟呢?原来是ITOO中的思路。可是之前只是看,没有落实到行动上去真正的分析为什么以及实现的思路,希望现在还不晚!抽象公共接口IBaseDao首先我们在开发一个新的系统时,里面包含的不止一个功能,而且每一个细分的功能都会涉及到增、删、改、查这些最基本的操作。如果每一个业务逻辑Dao层的接口中都要写一遍这样的接口,这样做会造成大量代码冗余,很是苦了原创 2016-04-07 17:39:29 · 1514 阅读 · 4 评论 -
从DRP架构进行简单工厂代替抽象工厂的SWOT分析
一、前情回顾1、简单工厂 VS 工厂方法VS抽象工厂: [简单工厂 VS 工厂方法VS抽象工厂](http://blog.youkuaiyun.com/wangyy130/article/details/24867685)2、设计模式总结 :[设计模式总结](http://blog.youkuaiyun.com/wangyy130/article/details/25273161)其实在之前刚接触设计模式的时候,对于原创 2015-09-26 15:42:58 · 1426 阅读 · 52 评论 -
Java技术积累——用最原始的代码见证分页查询实现原理
关于分页查询,大家并不陌生,easyui中封装的datagrid将表格的一系列操作运用的淋漓尽致,分页查询便是其中之一。然而,我们却疏于了解分页查询的基本实现原理,它究竟是如何实现的,今天就带大家一起来探个究竟!看一下界面的实现效果:看似很复杂的事情,其实实现它最核心的东西有两个:一、实现分页查询的SQL语句select user_id,user_name,password,c原创 2015-08-31 20:15:56 · 3896 阅读 · 19 评论 -
在java项目中如何利用Dom4j解析XML文件获取数据
在以前的学习.net时经常会遇到利用配置文件来解决项目中一些需要经常变换的数据,比如数据库的连接字符串儿等。这个时候在读取配置文件的时候,我们通常会用到一个雷configuration,通过这个类来进行直接读取,可以说这是程序中直接封装好的,包括配置文件中书写的格式等等。那么,如果,想要在配置文件中写一些其他的数据,直接以XML文件的格式进行书写,这个时候在后台如何读取XML文件中的数据呢?这里利原创 2015-08-16 10:27:49 · 5701 阅读 · 18 评论 -
Java学习必备之JDK和Tomcat配置
在学习Java前,我们都有一个必不可少的步骤,安装JDK和tomcat,安装倒也容易,但是每次的环境配置倒是总还要去查资料来配置,今天就把配置的步骤总结一下,以方便下次的使用。一、JDK配置1、右键我的电脑属性——高级系统设置——环境变量——新建系统变量变量名: JAVA_HOME值:为Java的安装目录,我的是:D:\Program Files\Java\jdk1.8.0_45原创 2015-07-31 10:58:35 · 3316 阅读 · 31 评论 -
如何利用JDBC连接并操作Oracle数据库
之前学习.NET的时候,曾经利用ODBC进行连接数据库,而在Java中通常采用JDBC连接数据库,这里以oracle数据库为例简单的总结一下利用JDBC如何连接并操作数据库。1、连接public class DbUtil { public static Connection getConnection(){ Connection conn=null; try { Class原创 2015-08-24 11:23:16 · 14859 阅读 · 26 评论 -
J2EE总结(三)——深入理解JSP开发工作原理
一、JSP及其工作原理1、JSP(JavaServer page)Java服务器页面,从名字上看,它类似于ASP,并且是在服务端编写的一种技术。2、用于开发动态web页面的技术为什么它可以用来开发动态web页面呢?这与它在编写时用到的技术有关。它采用HTML来定义页面的结构,但是在jsp中允许编写Java代码,并且允许开发人员在页面中使用request,response,out等对象实原创 2015-06-15 08:50:25 · 2475 阅读 · 14 评论 -
J2EE总结------JMS消息服务
JMS概念JMI:Java消息服务器,是Java中专门用于管理面向消息中间件的API MOM System可看做消息服务器,来处理ProgramA发来的消息,并将处理后的消息发送给ProgramB. 那么,我们可以先把这样的一种模式看做JMI,中间的MOM System被称作目的地,用来处理消息,可将消息进行排队,形成消息队列,能够改善性能,还可以设置处理消息的优先级。 而P原创 2015-06-29 20:44:17 · 1529 阅读 · 18 评论 -
J2EE总结(二)——与servlet从相识到相知
话说这J2EE视频看的本身每天活蹦乱跳的我是天天都像得了重病似的,怎么也犯不过劲儿来。里面接触了大量关于Java的专业词汇,如JNDI,ANT,servlet,Java Bean等等。让人一时难以消化。但在这里,还是强烈建议大家,无论如何要本着不抛弃,不放弃的精神坚持下去。看到后面也许因为你的不甘心,或者老天同情你的遭遇,忽然你就开窍儿了呢。其实慢慢的听的多了,也就跟原来的知识逐渐的联系上了,...原创 2015-06-09 09:42:53 · 2099 阅读 · 16 评论 -
代理模式深入学习(一)——动态代理的实现及解析
关于代理模式,就在不久的前的几天,大概是8月17日左右,我带领的小组还曾经被分配任务去给大家讲解代理模式,总共给了两天时间,但是,依然,我们有很多问题没有解决。比如动态代理的一些问题等等。在经历了DRP项目中通过动态代理封装事务后,对动态代理和事务的理解又深了不少! 而事务是很早之前就接触过的概念,对于事务的典型例子:银行取钱,我想大家都不陌生,如何与众多方法结合在一起,减少代码冗余,却从没原创 2015-09-30 15:56:23 · 6875 阅读 · 14 评论 -
为避免多线程Connection混乱使用ThreadLocal来封装事务
上一篇博客总结了动态代理的使用及代码的含义。接下来,继续探究动态代理的实地应用——利用动态代理来封装事务。 首先,要先来回忆一下最原始的封装好的事务的代码,这里在连接数据库时用到了TheadLocal这个类,通过它可以来保证在执行业务逻辑过程中来 保证每一次使用的connection的连接对象都执行的是同一个线程内的connection。事务的封装/** * 采用Thr原创 2015-10-07 20:43:06 · 1939 阅读 · 7 评论 -
Struts2核心工作原理
Struts2作为一种前端的应用框架,使用到的无非三种文件:1、web.xml 2、struts.xml 3、Action类。当然这只是需要我们自己要编写的 三个文件真正用到的不仅仅是这三个啦。 原理图 关于Struts2的工作原理,在网上查资料的过程中,找到了一张很经典的图,相信大部分人也都看见过这张图。它很清晰的反映出Struts2中各个部件的职责和请求流程。 配置原创 2015-10-21 16:04:24 · 1271 阅读 · 9 评论 -
hibernate基础(三)——主键生成策略与flush缓存清理
在了解此文前,请首先阅读:[hibernate基础(二)保存一个对象(http://blog.youkuaiyun.com/wangyy130/article/details/50420545) 在使用hibernate时,我们还是很有必要将hibernate的内部实现原理来搞清楚一下的。比如,hibernate在保存一个对象时, 它的内部实现原理是怎样的。当然要想清楚的了解这些,就必须要从它的原创 2016-01-21 16:05:02 · 1439 阅读 · 4 评论 -
利用Map做HighChart统计图数据源确定方案
最近在使用highChart做数据统计图时,忽然想到,在作图时,需要同时将X轴和Y轴的数据源同时传至页面,并且还得一一对应。于是,开始思索该用什么方案来解决此问题。上图就是我想要达到的效果。每次要根据我选择的月份来自动生成当月每一天所对应收单数的统计图。这就要求,我必须将每日的收单数一一对应的传至页面。一想到一一对应,很自然会想到Map的键值对形式。可是Map键值对的形式传至前台应该如何处理呢原创 2016-03-11 10:45:34 · 1471 阅读 · 5 评论 -
动态创建一组按钮,并为其绑定变量参数事件方法
做项目时,遇到一个比较奇怪的需求,需要用highChart作图,但是由于横坐标是公司的部分职级的人员,且人员数目较多,这样就会造成作出来的图好长,在有限的屏幕上显示不全。于是客户要求,可以将所有人员根据人数的多少自动分成几组,每一组用一个按钮来控制。这样每一个按钮就可以显示一张图了。效果如下:就是达到图上的效果啦。。。但是现在问题是人员总数并不是固定的,可能随时在变,所以这个按钮的分组值也是原创 2016-03-31 18:46:26 · 2157 阅读 · 2 评论 -
Spring基础学习总结
学习Spring已经很久了,可是自己却觉得抓不住spring引线,不能清楚的将spring中涉及到的知识理出一个头绪来。 如今再回顾,曾经学习到的spring视频。自己认为,spring的核心功能是AOP。然后,再通过AOP来与其他框架进行结合,比如ORM(hibernate),MVC(struts)等来达到解耦的目的。 这张图片反应的是Spring的核心。其中AOP占据了原创 2015-12-21 18:55:56 · 1011 阅读 · 4 评论 -
天天拼SQL——被group后与原表再结合
最近在做的几个需求,总是天天在拼SQL。所以,今天的这篇博客也与这几天拼的sql有关啦。。。背景 需求是这样的。要从数据库中查一组数据。这组数据中包括各个分项目的详细信息和审批金额,而每一组分项目又属于不同的申请表单 (相当于各自有不同的父项目),还需要将各个分项目的审批金额的总和都加在每一个分项目的一列中。 最后的效果:思考过程 看起来似乎有些乱。于是我先把关于总项原创 2015-12-31 10:05:46 · 1117 阅读 · 7 评论 -
Hibernate基础(一)——连接数据库,并导出表
今天总结一下利用hibernate如何来进行数据库的连接。其实总的来说,利用任何技术,连接数据库无非就那么几个步骤。1、写好配置文件 2、配置文件的读取 3、连接 如今,在hibernate上也离不开这三步。通过hibernate再回顾一下这些最基础的技术。在此之前,要将hibernate所需要的各种Lib进行引用,这里用的是mysql,所以也要引入mysql的数据库驱动。一、配置文件编写<!D原创 2015-12-28 09:56:51 · 1419 阅读 · 6 评论 -
Java技术积累——AOP思想之Filter的使用
在.NET中也曾介绍过关于Filter的使用。它是AOP思想的一个很重要的应用。同样在Java中同样也是支持filter的。在这里仅以温故的目的再总结一下filter的一些基础知识点。1、.net mvc中有关filter的使用http://blog.youkuaiyun.com/wangyy130/article/details/44241957 2、Java小例子在DRP视频原创 2015-09-24 15:10:32 · 1785 阅读 · 27 评论 -
Java技术积累递归调用——解析树的基本实现原理
在做项目的过程中,经常会用到树结构。关于树结构的框架我也接触过几个,比如easyui中封装的树,Ztree等。当然这些封装好的框架只需要我们去按照API来使用即可,那么树的实现原理究竟是怎样的。今天用最原始的代码来拼接一下树的组成结构。效果:1、表结构要想出现树结构,那么数据库中必须包含有可以形成树结构的表,也就是可以区分出父节点和子节点。id:节点ID,pid;父节点id原创 2015-09-17 17:17:07 · 3632 阅读 · 15 评论 -
JSEE总结(一)——JNDI
一、什么是JNDI早就听说J2EE有13个规范,今天接触了第一个——JNDI,这里所说的规范,其实是一种标准,就像Web开发中接触到的W3C和IE类似。规定了开发人员在一个领域开发时使用某种技术所必须遵循的开发标准或开发方法,具有一定的强制性。 而JNDI也是这13个规范之中的一个:是Java平台的一个标准扩展,提供了一组接口、类和关于命名空间的概念。如同其它很多Java技术一样原创 2015-05-31 20:11:28 · 2999 阅读 · 13 评论