
Java
文章平均质量分 66
朱培
爱学习,爱生活,努力让自己成为一名更优秀的工程师,奋斗吧骚年!
展开
-
spring常用知识体系
BeanFactory:是Spring里面最底层的接口,包含了各种Bean的定义,读取bean配置文档,管理bean的加载、实例化,控制bean的生命周期,维护bean之间的依赖关系。BeanFactroy采用的是延迟加载形式来注入Bean的。原创 2022-10-24 20:41:23 · 963 阅读 · 1 评论 -
操作系统知识图谱
构建自己的知识图谱,有助于完整的梳理知识体系,主要是操作系统相关的知识和内容,以下梳理不包含一些特别简单的内容,仅包含一些常用的功能和知识体系,掌握这些知识体系是非常有必要的。...原创 2022-08-13 10:51:49 · 953 阅读 · 0 评论 -
HashMap源码分析与实现
面试的时候经常会遇见诸如:“java中的HashMap是怎么工作的”,“HashMap的get和put内部的工作原理”这样的问题。本文将用一个简单的例子来解释下HashMap内部的工作原理。每当hashmap扩容的时候需要重新去add Entry对象,需要重新hash,然后放入我们新的entry table数组里面。如果在工作中,已经知道hashmap需要存多少值,几千或者几万的时候,最好新指定题...原创 2018-02-09 16:01:02 · 5881 阅读 · 0 评论 -
COS对象存储服务的使用
在很多图片上传以及文件上传下载操作的时候,我之前一直使用的是nginx在服务器中划分出一个静态的文件服务器,我主要用于存放图片。然后因为某种原因,然后我换成了COS。官网的简介是这样的:对象存储服务(Cloud Object Service)是面向企业和个人开发者提供的高可用,高稳定,强安全的云端存储服务。然后我最开始是抱着死马当活马医的心态来使用的,进度上面要求我是要尽快完成的,而且我发现对于我这种小网站来说使用这个COS服务基本上是免费的,简直就是捡到宝的感觉...原创 2016-12-14 15:58:23 · 14344 阅读 · 7 评论 -
深入解读XML解析
一、XML是什么?有什么用?XML是指可扩展标记语言(eXtensible MarkupLanguage),它是一种标记语言。它被设计的宗旨是描述数据(XML),而非显示数据(HTML)。 目前遵循的是W3C组织于2000年发布的XML1.0规范 应用场景:1、描述数据2、作为配置文件存在二、XML的基本语法1、文档声明:很重要在编写XML文原创 2016-02-26 20:42:35 · 33689 阅读 · 6 评论 -
Spring常用配置
Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。 轻量级:依赖其他内容教小,使用资源消耗也少。 核心:控制反转Ioc和面向切面AOP。 spring生成的东西叫做bean.现在流行的框架中都用到了spring,其中最重要的作用就是依赖注入,或者称为反转控制。spring是开发javaee查询非常重要的一个框架,可以为后续使用springMVC打下良好的基础,其实主要的就是一些配置文件,需要哪些jar包,我们应该如何去配置,本文都有非常详细的阐述。通过使用sprin原创 2016-09-08 14:36:07 · 3208 阅读 · 0 评论 -
大数据量中的模糊查询优化方案
对工作单使用 like模糊查询时,实际上 数据库内部索引无法使用 ,需要逐条比较查询内容,效率比较低在数据量很多情况下, 提供模糊查询性能,我们可以使用lucene全文索引库技术。本文示例是在SSH框架中进行使用。使用Hibernate Search (用来整合 Hibernate + Lucene),工作单搜索功能。导入IKAnalyzer分词器。因为IKAnalyzer在maven中没有,所以我们需要手动下载这个jar包...原创 2016-09-19 22:21:10 · 17668 阅读 · 1 评论 -
粗浅看Struts2和Hibernate框架
Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,struts2和hibernate分别都是框架是JavaEE中的三大框架之一,同时也是非常“老”的两个框架,现在很多已经转换为springMVC和mybatis来开发javaee应用了,既然sturts2和hibernate可以成为经典,那肯定还是有其存在的必要的,对于一些老的项目来说,如果我们要对其进行维护什么的,我们还是需要了解struts2原创 2016-09-03 19:08:48 · 7786 阅读 · 1 评论 -
用户注册的邮箱激活模块的设计与实现
分享用户注册时需要进行的邮箱激活功能的实现。在我们都知道在一个网站中,用户注册后需要来一个邮箱进行激活是很常见的功能,那么我们今天就来学习一下这个邮箱验证功能.这里以我的一个小项目“网上书店”的这个模块来说明这个邮箱激活的功能!采用的是mvc模式开发!我们刚才将其抽取到一个线程中来实现.我这里使用的是万网的mail.host,所以其属性值为smtp.mxhichina.com,如果你用的是163邮箱的话,就替换为...原创 2016-08-07 21:04:02 · 11799 阅读 · 9 评论 -
自定义maven插件的实现
最近在折腾maven,然后研究了一下maven的插件的写法,然后做了一个案例,通过maven插件来统计当前工程中的目录下有多少个java文件,操作步骤如下,在intellij idea中使用。1、新建一个maven项目,我这边jdk的build选择的是1.8,在pom.xml中添加...原创 2018-06-13 14:22:05 · 15898 阅读 · 4 评论 -
基于轨迹的游客行为特征分析
大数据时代,深度“数据挖掘”高级分析技术成为大势所趋,对于旅游景区来说,谁先掌握互联网平台、善用大数据,谁就最有可能先人一步破除体制壁垒与管理围墙,实现转型升级和跨越式发展。通过在旅游景区部署移动信号监测设备,就可以发现该群体游客的相关属性,例如在一个区县,在不同景点之间部署,可以发现游客移动的轨迹是怎么样,本文主要就是用于分析游客在不同景点之间的浏览情况,这样可以更加合理的设计景区与景区之间的交通路线,销售相关旅游产品和应急预案等方面的东西...原创 2018-10-16 10:33:28 · 6627 阅读 · 3 评论 -
POI复制Excel模板并填充数据
我们最近需要对系统加一个报表导出的功能,可以通过POI直接导出,导出后的excel文件需要支持在office里面修改数据后图表也会自动变换。方法一可以使用jfreechart+poi,但是这种方法生成的图表是一张图片,不能在office中自动修改;第二种方法是poi调用 office的宏,它需要调用自定义的.dll 文件,也需要在windows环境中,所以不适用...原创 2018-12-18 10:46:21 · 5304 阅读 · 4 评论 -
使用观察者模式进行短信通知、预警日志记录
应用场景:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。如在舆情系统中发现有客户给出差评,就需要2小时内给相应的负责人发送短信通知,在客流系统中,人数超过预警值需要发送短信提醒相关负责人并记录到预警流水表中。特点:一般由两个角色组成...原创 2018-12-18 11:20:40 · 2279 阅读 · 0 评论 -
策略模式的实际应用
应用场景:定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。特点 :行为型模式 最终执行结果是固定的。执行过程和执行逻辑不一样。目前在公司的实际项目中,有如下场景:有3中数据来源的详情查询(客流数据、舆情数据、画像数据),这三种数据请求的参数都是相同的,如参数里面都是省、市、县、景区名称、开始时间、结束时间。返回的数据也是相同的...原创 2018-12-18 16:17:38 · 970 阅读 · 0 评论 -
单例模式详解
本文主要分享的内容是单例模式的应用场景、常见的单例模式写法、保证线程安全的单例模式策略、反射暴力攻击单例解决方案及原理分析、序列化破坏单例的原理及解决方案。一、单例模式的应用场景单例模式(Singleton Pattern)是指确保一个类在任何情况下都绝对只有一个实例,并提供一个全局访问点。单例模式是创建型模式。在 Spring 框架应用中 ApplicationContext;数据库的连...原创 2019-03-12 11:05:20 · 467 阅读 · 1 评论 -
java部分基础知识汇总
1、受检异常和非受检异常的区别?所有的异常都是继承至Throwable,包括Error和Exception两个大类Error: 不用捕获,通常是一些底层和硬件的错误,与程序本身无关Exception: 非受检异常:程序本身的异常,如果不主动捕获的,会由jvm去进行处理 受检异常:IOException/SQLException ,必须要去捕获的异常当发生异常时,可以通过try...原创 2019-03-20 16:19:00 · 509 阅读 · 0 评论 -
设计模式常见问答
举例一个更倾向于用抽象类而不是接口的业务场景?答: 抽象类表示的是,这个对象是什么。接口表示的是,这个对象能做什么。应用场景:- 当需要去携程、去哪儿等在线旅游网站上面爬取酒店用户评论的时候,需要先调用这些网站的数据接口,然后获取数据,其次解析成我们需要的数据..原创 2019-04-30 08:18:45 · 554 阅读 · 0 评论 -
实战:javac插入式注解处理器
一套编程语言中编译子系统的优劣,很大程度上决定了程序运行性能的好坏和编码效率的高低,尤其在Java语言中,运行期即时编译与虚拟机执行子系统非常紧密地互相依赖、配合运作。了解JDK如何编译和优化代码,有助于我们写出适合JDK自优化的程序。看过javac源码,我们就知道,当我们的编译器在把java文件编译为字节码的时候,会对java源程序做各方面的校验,在本文的实战中,我们将会使用注解处理器API来编...原创 2019-05-30 13:44:58 · 1683 阅读 · 1 评论 -
并发编程常见问答
1、线程创建1.1、有哪些方法创建线程?1.继承Thread类 (真正意义上的线程类),是Runnable接口的实现。2.实现Runnable接口,并重写里面的run方法3 .应用程序可以使用Executor框架来创建线程池。Executor框架是juc里提供的线程池的实现。4.实现Callable接口通过FutureTask包装器来创建Thread线程1.2、如何...原创 2019-09-30 09:48:39 · 701 阅读 · 0 评论 -
过滤器应用案例分析
本文主要分享的内容是通过使用过滤器解决全站乱码、Html过滤、脏话过滤、Gzip压缩过滤等主要内容,是一个切实解决网站实际问题的一套方案。我们以前对于网站乱码的问题大多数是直接在servlet中rerquest.setCharacterEncoder("UTF-8")这样来解决,但是对于多个servlet重复也的话就非常不好了,及其不方便,所以我们可以使用一个过滤器来对整站的编码进行设置。新建一个类SetCharacterEncodingFilter,使其继承Filter接口...原创 2016-07-31 11:15:23 · 4094 阅读 · 2 评论 -
WebService案例入门(基础篇)
Webservice:跨语言跨平台的远程调用技术。Web service 即web服务,它是一种跨编程语言和跨操作系统平台的远程调用技术即跨平台远程调用技术。在做企业整体信息化时,企业中一般都或多或少的存在一些既存系统,这些各种各样的系统不可能全部推翻,重新规划和开发,因为很多供应商在某一领域也做的很专业,博众家之长并进行集成应该是一个比较现实和可取的做法。各个系统之间通过WebService...原创 2016-08-03 19:56:27 · 22378 阅读 · 3 评论 -
细说Http协议
什么Http协议HTTP是HyperText Transfer Protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程及数据本身的格式。 版本:1.1(目前使用的)和1.0 和1.1可以在一次TCP/IP链接上,发出多次请求和得到多次响应 1.0每次都必须建立新的TCP/IP链接,比较浪费资源。基于HTTP协议的原创 2016-02-28 15:18:51 · 1447 阅读 · 0 评论 -
Java面向对象要点
面向对象:一、基本概念 类与对象的基本概念: 1、void类型是不需要返回值的,其他类型全部都需要返回值。 public void tell(){} public int say(){ return 0; } 2、方法的重载,方法名称不同,但是参数的类型和个数不同,通过传递参数的个数和类型不同原创 2016-03-23 17:27:55 · 1478 阅读 · 0 评论 -
猜拳游戏案例
猜拳是由石头、剪刀、布组成,可以选择你的对手是谁,这里设定了3个对手(总裁、副总、总监),然后选择你的出拳,通过使用数字1、2、3来分别代表着3种状态。然后我们还需要加上计分的功能。这里我们建立4个类,人、机、主方法、测试类。当然啦,我们都知道人类和机类的基本方法都差不多,因为我们要获取到键盘的输入内容,所以我们要使用这个Scanner ,这个在util包下面,我们直接导入就可以了。这里直接贴原创 2016-03-10 22:35:17 · 3338 阅读 · 2 评论 -
动态数组的实现案例
Java动态数组是一种可以任意伸缩数组长度的对象,在Java中比较常用的是List。下面介绍一下List作为Java动态数组的用法。我们可以首先编写两个类List.java 和一个测试类Test1.java。将主类和测试类分开写,更有利于扩展性,这是一个非常好的编程思想。下面来看一下我们如何来实现List类。注释已经写得很清楚了,如果有不懂的地方欢迎留言。//定义一个容器类public原创 2016-03-10 14:42:14 · 2084 阅读 · 4 评论 -
随机验证码实现案例
众所周知,验证码在我们的生活中都是非常常见的,很多公司都在各种折腾各种各样的验证码,这里简要的用一个小案例来实现验证码的功能(ps:其实我挺讨厌验证码这个东西的)。 建立一个javaweb工程,新建login.html,在里面主要是写界面,代码实现如下,写在body区就可以了,来一个表单验证 username: password: 验证码:原创 2016-03-02 16:00:58 · 1463 阅读 · 0 评论 -
数据结构与算法,每日一道
记得全部用java实现【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 1.程序分析:判断素数的方法:用一个转载 2016-02-10 11:36:43 · 2262 阅读 · 0 评论 -
java基础知识——网络编程、IO流
IO流字节流:处理字节数据的流对象,计算机中最小数据单元就是字节。InputStream OutputStream字符流:字符编码问题,将字节流和编码表封装成对象就是字符流。Reader Write读、写都会发生 IO 异常。io 异常的处理方式 :io 一定要写 finally。fw.flush();//刷新缓冲区,fw.close();//关闭流。IO 中的使用到了一个设计模式: 装饰设计原创 2016-01-06 20:36:44 · 1879 阅读 · 0 评论 -
java基础知识总结
java在安卓的开发中是非常重要的,所以今天我总结了一下java的基础知识,当然,还有一些没有总结完,例如网络编程,io流等,将会在下一篇博文中写出。概述javac :负责的是编译的部分java :负责运行的部分.会启动 jvm.加载运行时所需的类库,并对 class 文件进行执行语法规则数据类型1 1 ): 基本数据类型:byte(1个字节)、short(2)、int(4)、long(8)、flo原创 2016-01-05 21:57:53 · 922 阅读 · 0 评论 -
ObjectOutputStream 和 ObjectInputStream的使用
一、看一下API文档ObjectOutputStream :ObjectOutputStream 将 Java 对象的基本数据类型和图形写入 OutputStream。可以使用 ObjectInputStream 读取(重构)对象。通过在流中使用文件可以实现对象的持久存储。如果流是网络套接字流,则可以在另一台主机上或另一个进程中重构对象。只能将支持 java.io.Serial原创 2016-04-13 16:34:08 · 8937 阅读 · 0 评论 -
在java程序中实现发送邮件的功能
最近比较忙,在做一个人事管理系统的项目,在这项目需求中,需要一个发送邮件的功能。这个时候我们可以使用javamail的jar包来实现完美需要的功能,在这里简单的分享一个最基础的发邮件功能。首先我们需要去下载两个jar包,smtp.jar和mailapi.jar,导入到自己的项目中应该就不用我说了吧,大家都是有经验的开发人员了。public class Demo1 { pub原创 2016-05-13 23:05:48 · 6699 阅读 · 2 评论 -
Servlet常用操作(基础)
本文主要介绍servler的基本使用操作,是一些非常基础的知识,主要掌握servlet作用域、servlet映射、请求转发、ServletConfig配置、ServletContext等的使用,最后以一个简易的文件下载的案例来说明Servlet的应用。Servlet 看起来像是通常的 Java 程序。Servlet 导入特定的属于 Java Servlet API 的包。因为是对象字节码,可动态地从网络加载,可以说 Servlet 对 Server 就如同 Applet对 Client 一样,但是...原创 2016-07-19 10:38:18 · 5043 阅读 · 1 评论 -
轻巧级记事本的开发
今天按计划没什么大事,所以去学习制作了一下记事本,有三种功能,可以添加文字、图文、视频+文字,还有删除功能。源码下载地址:http://download.youkuaiyun.com/detail/sdksdk0/9338679。 首先看到MainActivity:初始化界面public void initView() { lv = (ListView) findViewById(R原创 2015-12-08 23:18:38 · 611 阅读 · 0 评论 -
线程池原理及其实现
我在学习谷歌电子市场的制作的时候,遇到这个线程池问题的时候不太理解,所以去网上查了一下资料,转载过来了,代码是谷歌市场应用的线程池的代码#。1、线程池: 多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力。 假设一个服务器完成一项任务所需时间为:T1 创建线程时间,T2 在线程中执行任务的时间,转载 2015-12-03 21:55:05 · 579 阅读 · 0 评论 -
JSP基础概要
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。原创 2016-07-16 17:29:05 · 10383 阅读 · 0 评论 -
Java web文件上传下载
本文主要从javaweb上传文件到服务器中,并且在服务器端进行数据文件存储,主要分享了文件上传原理、使用第三方开源工具进行上传以及一些文件上传时需要注意的地方,文件的优化处理,还有简易分享了从我们刚才上传进去的文件进行下载。需要掌握基本的开发流程,底层实现原理等...原创 2016-07-27 19:37:16 · 6009 阅读 · 1 评论 -
Lucene全文检索基础
“少理论,少模型”,“多实践”,“多应用”的学习态度,今天带来的是关于站内搜索的基础使用,目前检索这个领域有非常多优秀的框架了,但是身为一个全文检索领域的经典祖先,我们还是需要了解和掌握其精华的。本文主要内容有Lucene简介、索引库的建立、关键字搜索、检索分页、网站排名优化、分词、搜索结果高亮等。要求掌握其基本开发流程,并可以使用servlet+easyUI+lucene+jsp+js等技术做一个简易的站内搜索的功能模块。原创 2016-07-11 13:25:42 · 5806 阅读 · 0 评论 -
java常用排序算法
在各类算法中,排序算法是最基本的内容。在这里主要分享一个冒泡排序,选择排序,插入排序,希尔排序,快速排序和堆排序以及合并排序。1、冒泡排序这里是最基础的了,不用多说。public static void bubbleSort(int[] a){ int temp; for(int i=1;i<a.length;i++){ for(int j=0;j<a.length-i;原创 2016-05-22 14:16:14 · 2225 阅读 · 0 评论 -
Eclipse的Debug调试技巧
作为开发人员,掌握开发环境下的调试技巧十分有必要。我们在编写java程序的过程中,经常会遇到各种莫名其妙的问题,为了检测程序是哪里出现问题,经常需要增加日志,看变量的值,这样调试很麻烦。假设我每天花费1小时在调试我的应用程序上的话,那累积起来的话也是很大量的时间。由于这个原因,用这些时间来重视并了解所有使我们调试更方便的功能。那能为你省下一些时间,也将会使你的生活更安逸、轻松。首先我们需要注意原创 2016-04-24 23:19:20 · 26242 阅读 · 2 评论 -
基于Web在线考试系统的设计与实现
这是一个课程设计的文档,源码及文档数据库我都修改过了,貌似这里复制过来的时候图片不能贴出下载地址:链接:https://pan.baidu.com/s/1cOzutS31VrvelaYyq4T6pQ提取码:erzt数据库原理课程设计说明书 目 录1课题背景与意义.31.1课题开发背景.31.2课题开发意义.32系...原创 2015-12-16 17:39:29 · 86585 阅读 · 23 评论