自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 File的一些方法总结

Filejava.io.File类是文件和目录路径名的抽象表示,主要用于文件和目录的创建,查找和删除等操作。文件的一些简单方法public class FileDemo01 { public static void main(String[] args) throws IOException { /** * 因为Windows下和Linux下路径分隔...

2019-07-23 20:10:42 184

原创 用Java语言读取配置文件

准备先决条件1.创建一个ModelTest01类public class ModelTest01 {}2.创建一个ModelTest02类public class ModelTest02 {}3.先创建一个配置文件bean.propertiesmodelTest01=com.hh.pro.ModelTest01modelTest02=com.hh.pro.ModelTest...

2019-07-23 20:08:58 229

原创 JDBC事务实现

JDBC事务代码 Connection conn; try{ //获取数据连接 conn = DriverManager.getConnection("url", "user", "password"); //关闭自动提交机制 conn.setAutoCommit(fal...

2019-07-23 20:07:38 450

原创 Java泛型

泛型的概念:泛型是一种未知的数据类型,当我们不知道使用什么数据类型的时候,可以使用泛型泛型也可以用来看成一个变量。接收数据类型。示例代码:class ArrayList<E>{ public boolean add(E e){ } public E get(int index){ } ....}受限泛型:泛型的上限:格式: 类型名称 &l...

2019-07-23 20:06:52 113

原创 mybatis一些小知识点

引入依赖<!-- mybatis --><dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.6</version></dependency&...

2019-07-23 20:05:40 124

原创 log4j日志详解

基本使用方法:log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。日志信息的优先级从高到低:OFF,FATAL,ERROR,WARN,INFO,DEBUG,TRACE,ALL,一般只使用四种,从高到低有ERROR,WARN,INFO,DEBUG,分别用来指定这条日志信息的重要程度;日志信息的输出目的地指定了日志将打印到控制台还是文件;而输出格式则控制了日志...

2019-07-23 20:04:30 670

原创 用Java实现excle导入

excle导入 public Map<String,Object> uploadSpaceUserExc(HttpServletRequest request) throws Exception { Map<String,Object> map = new HashMap<>(); Integer state = 1000; ...

2019-07-23 20:03:34 165

原创 SSM配置

SpringMVC配置web.xml<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" ><web-app> <display-name>springm...

2019-07-23 20:02:00 83

原创 Map经典面试题

MapMap集合的特点:public interface Map<K,V>1.Map集合是一个双列集合,一个元素包含两个值(一个key,yige value)2.Map集合中的元素,key和value的数据类型可以相同,也可以不相同3.Map集合中的元素,key是不允许重复的,value是可以重复的4.Map集合中的元素,key和value是一一对应put()publi...

2019-07-23 20:01:17 6204 1

原创 java反射

java反射案例1.创建一个Car类package com.hh.test;public class Car { private String brand; private String color; private int maxSpeed; public String getBrand() { return brand; }...

2019-07-23 19:58:39 157

原创 工作中经常用到的Date和Calendar知识

平时在开发中经常会遇到与时间相关的知识,平常用Date多一些,Calendar的话,就是写定时任务的时候获取指定时间会用!整理出来与大家一起学习!Java将String类型时间转换为Date代码示例:String startTime ="2019-01-12 12:00:12";String endTime ="2019-04-08 17:00:00";SimpleDateForm...

2019-07-23 19:53:56 164

原创 Collection概述

Collection概述迭代器1.Iterator iterator(): 获取集合对应的迭代器,用于遍历集合中的元素。关羽元素返回的顺序没有任何保证(除此collection是某一个能提供保证顺序的类实例)2.迭代: 即Collection集合元素的通用获取方式,在取出元素之前先要判断集合中有没有元素,如果有,就把这个元素取出来,继续在判断,如果还有就再取出来,一直把集合中的所有元素...

2019-07-23 19:49:46 136

原创 dubbo之zookeeper集群搭配

搭建zookeeper环境1.在搭建zookeeper环境前,一定要配置jdk环境,此处不赘述。2.首先我从zookeeper官网上下载zookeper.通过FileZilla上传到我的阿里服务器上,如下图:3.然后解压zookeeper,命令:tar -zxvf zookeeper.tar.gz ,如下图:4.更改zookeeper-3.4.10为zookeeper,命令:mv z...

2019-01-29 16:19:16 1014

原创 dubbo管理控制台的搭建部署

声明我是在linux上搭建的。jdk的版本3.这是我的maven的版本4.点击下载dubbo-amdin5.下载下来项目,进入dubbo-admin,执行mvn clean package,前提是你的电脑上一定要安装好maven如果出现如下所示,则表示打包成功6.在本地dubbo-admin项目的target目录下找到dubbo-admin-2.6.0.war7.将打...

2019-01-29 16:18:09 510

原创 如何面试?打持久战还是打有准备的仗

我写这篇文章也是临时起意,怎么个临时起意法呢,这个得从我运营的千人qq群(706942420)说起。群里有一个人找工作,面试大概持续了将近2个月了吧,我是很心疼他的,因为每个人在找工作期间都会疲劳,累,倦怠,尤其是面试了无数家公司,而没有一家公司通知你去上班!其实这么长时间的面试我可以说你是在玩,在和自己打疲劳战,最后伤到的还是自己!这里可以讲讲我当时面试的过程,我当时可以说是裸辞,这里就不...

2018-12-26 14:08:14 252

原创 外观模式

知识点十:外观模式一、概述外观模式(Facade Pattern)又称门面模式,属于23种GOF设计模式的结构型设计模式 。 Facade模式为一组具有类似功能的类群,比如类库,子系统等等,提供一个一致的简单的界面。这个一致的简单的界面被称作facade。它向现有的系统添加一个接口,来隐藏系统的复杂性。这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。...

2018-11-15 20:24:18 157

原创 代理模式

知识点九:代理模式一、概述1、什么是代理模式在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。它属于23种GOF设计模式的结构型设计模式 。在代理模式中,我们创建具有(包含)现有对象的对象,以便向外界提供功能接口。打个比方代理模式就是相当于我们租房子,我们本身没有找房源的这个功能,但是中介(代理类)有,我们就把我们本身具有的功能(挑房子)给中介,这时候中介就有了新功...

2018-11-15 14:39:50 3216

原创 装饰者模式

知识点八: 装饰者模式一、概述装饰器模式(Decorator Pattern)又叫包装模式,允许向一个现有的对象添加新的功能,同时又不改变其结构。它属于23种GOF设计模式的结构型设计模式 ,它是继承关系的一个替换方案。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。二、优缺点和使用场景1、优点装饰者模式可以提供比继承更多的灵活性...

2018-11-15 14:39:08 113

原创 适配器模式

知识点七: 适配器模式一、概述适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。它属于23种GOF设计模式的结构型设计模式 , 它结合了两个独立接口的功能。这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。适配器模式的别名为包装器(Wrapper)模式,它既可以作为类结构型模式,也可以作为对象结构型模式。在适配器模式定义中所提及的接口是指广义...

2018-11-15 14:38:10 150

原创 基于代理类的AOP实现

前言通过前面的两篇文章,相信大家对Spring中两种模式已经有了一定的了解。实际上,Spring中的AOP代理默认就是使用JDK动态代理的方式来实现的。在Spring中,使用ProxyFactoryBean是创建AOP代理的最基本方法,接下来我会对Spring中基于代理类的AOP实现的相关进行详细详解。Spring的通知类型1.org.aopalliance.intercept.Metho...

2018-11-15 14:34:57 1268

原创 AOP动态代理之CGLIB代理

前言JDk动态代理的使用非常简单,但它还有一定的局限性–使用动态代理的对象必须实现一个或多个接口,如果要对没有实现接口的类进行代理,那么可以使用CGLIB代理。CGLIB是什么CGLIB(Code Generation Library)是一个高性能开源的代码生成包,它爱用飞翔底层的字节码技术,对指定的目标类生成一个子类,并对子类进行增强,在Sprnig的核心包中已经集成了CGLIB所需要的...

2018-11-12 14:52:55 476

原创 Spring AOP动态代理之JDK代理

前言我们都知道AOP中的代理就是由AOP框架动态生成的一个对象,该对象可以作为目标对象使用。此处讲解Spring中的AOP代理之JDK动态代理。JDK代理是什么JDK动态代理是通过java.lang.reflect.Proxy类来实现的,我们可以调用Proxy了的newProxyInstance()方法来创建代理对象。对于使用业务接口的类,Spring默认会使用JDK动态代理来实现AOP....

2018-11-12 14:52:01 203

原创 原形模式

知识点六: 原形模式一、概述原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能,它属于23种GOF设计模式的创建型设计模式 ,它提供了一种创建对象的最佳方式。这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。它有如下特点:由原型对象自身创建目标对象。也就是说,对象创建这一动作发自原形对象本身。...

2018-11-12 14:28:24 404

原创 建造者模式

知识点五: 建造者模式一、概述建造者模式(Builder Pattern),又被称为生成器模式,它属于23种GOF设计模式的创建型设计模式 ,它与工厂方法模式和抽象工厂模式不同,后两者的目的是为了实现多态性,而 建造者模式的目的则是为了将对象的构建与展示分离。建造者模式是使用多个简单的对象一步一步构建成一个复杂的对象。 它允许用户在不知道内部构建细节的情况下,可以更精细地控制对象的构造流程。...

2018-11-12 14:27:46 215

原创 单例模式

知识点四: 单例模式一、概述单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。它属于23种GOF设计模式的创建型设计模式 ,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。保证一个类仅有一个实例,并提供一个访问它...

2018-11-12 14:27:08 136

原创 抽象工厂模式

知识点三: 抽象工厂模式一、概述抽象工厂模式(Abstract Factory Pattern) 是基于工厂方法模式的一个延伸,是所有形态的工厂模式中最为抽象和最具一般性的一种形态。它属于23种GOF设计模式的创建型设计模式。 抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式。抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体的情况下,创建多个产品族中的产品对象。根据里...

2018-11-12 14:26:18 167

原创 工厂方法模式

知识点二: 工厂方法模式一、概述工厂方法模式(Factory Method)又称为工厂模式,也叫虚拟构造器(Virtual Constructor)模式或者多态工厂模式(Polymorphic Factory),工厂方法模式是简单工厂模式的一个延伸,它属于23种GOF设计模式的创建型设计模式。在工厂方法模式中,父类负责定义创建对象的公共接口,而子类则负责生成具体的对象,这样做的目的是将类的实...

2018-11-12 14:25:30 237

原创 简单工厂模式

知识点一:简单工厂模式前言1.概述设计模式是针对某一类问题的最优解决方案,是从许多优秀的软件系统中总结出的。Java中设计模式(java design patterns)通常有23种(这次总结的设计模式多了一个简单工厂模式共24种)。这些模式大体上可以分成3类:创建型模式:创建型模式涉及对象的实例化,特点是不让用户代码依赖于对象的创建或排列方式,避免用户直接使用new创建对象。 ...

2018-11-12 14:24:44 151

原创 JVM之类加载机制

JVM之类加载机制JVM类加载机制分为五个部分:加载,验证,准备,解析,初始化,下面我们就分别来看一下这五个过程。加载加载是类加载过程中的一个阶段,这个阶段会在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的入口。注意这里不一定非得要从一个Class文件获取,这里既可以从ZIP包中读取(比如从jar包和war包中读取),也可以在运行时计算生成(...

2018-11-12 14:23:52 144

原创 JVM之垃圾回收机制

JVM之垃圾回收机制垃圾回收机制是 Java 非常重要的特性之一,也是面试题的常客。它让开发者无需关注空间的创建和释放,而是以守护进程的形式在后台自动回收垃圾。这样做不仅提高了开发效率,更改善了内存的使用状况。 下面将从什么是java中的垃圾堆内存的划分回收垃圾的算法分代回收机制Java中垃圾回收器的类型GC相关的JVM参数Full GC和并发垃圾回收来简述java中的垃圾...

2018-11-12 14:21:11 202

原创 spring在什么情况下线程不安全

1.Spring作为一个IOC/DI容器,帮助我们管理了许许多多的”bean”,但其实,Spring并没有保证这些对象的线程安全,需要由开发者自己编写解决线程安全问题的代码.2.我们交由Spring管理的大多数对象其实都是一些无状态的对象,这种不会因为多线程而导致状态被破坏的对象适合Spring的默认scope,每个单里的无状态对象都是线程安全的(也就是说只要是无状态的对象,不管单例多例都是线程...

2018-10-26 14:36:15 1438

原创 使用NIO实现非阻塞Socket通信

前言从JDK1.4以来,Java提供了NIO API来开发高性能的网络服务,但是在JDK1.4之前,网络通信程序是基于阻塞式API的——即当程序执行输入,输出操作后,在这些操作返回之前会一直阻塞该线程,所以服务器必须为每个客户端都提供一个独立线程进行处理,当服务器端需要同时处理大量客户端时,这种做法会导致性能下降。使用NIO API则可以让服务器端使用一个或有限几个线程来同时处理链接到服务器端...

2018-10-26 14:05:15 1020

原创 Java NIO详解

I/O阻塞和NIO非阻塞传统Java IO是基于阻塞I/O模式,这意味着,当一个线程在调用read()和write()时,该线程被阻塞,直到有一些数据被读取,或数据完全写入,该线程在此期间不能再干任何事情,不仅如此,传统的输入流,输出流都是通过字节的移动来处理的(即使不直接去处理字节流,但底层的实现还是依赖于字节处理),Java NIO的非阻塞模式,使一个线程从某通道发送请求读取数据,但是它仅仅...

2018-10-26 14:03:24 141

原创 java中Date时间转换格式

规划规范化 前言:作为一名菜鸟,工作中经常会遇到时间转换格式,然后遇到就头大,所以自己苦思冥想,最终找到了方法,在这里也给大家贴出来,贴出来也是对我的帮助,我记不住的时候也可以翻一翻,哈哈,与大家语气共勉!Date时间转换格式在实体类里面定义开始时间:createStartTime,结束时间:createEndTime,然后生成set()和get()方法 第一种方法:S...

2018-08-24 11:26:05 675

原创 IDEA插件

插件的使用IDEA插件的设置IntelliJ IDEA 本身很多功能也都是通过插件的方式来实现的。 官方插件库:https://plugins.jetbrains.com/ 如上图标注 1 所示,IntelliJ IDEA 对插件进行了很好的分类: All plugins 显示所有插件。 Enabled ...

2018-08-16 01:08:58 635

原创 AOP简介

AOP是什么?&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;在进行OOP开发时,都是基于对组件(比如类)进行开发,然后对组件进行组合,OOP最大的问题就是无法解耦组件进行开发, 而AOP就是为了克服这个问题而出现的,它来进行这种耦合的分离。 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AOP为开发者提供一种进行横切关注点分离并织入的机制,把横切关注点分离,然后通过某种

2018-08-01 15:27:47 333

转载 Spring3—AOP

准备环境首先准备开发需要的jar包,请到spring-framework-3.0.5.RELEASE-dependencies.zip和spring-framework-3.0.5.RELEASE-with-docs中查找如下jar包: org.springframework.aop-3.0.5.RELEASE.jarcom.springsource.org.aspectj.weav...

2018-08-01 10:44:56 236

原创 java中如何遍历Map对象的4种方法

方法一:在for-each循环中使用entry来遍历 Map&lt;Integer,Integer&gt; map = new HashMap&lt;Integer,Integer&gt;(); for(Map.Entry&lt;Integer,Integer&gt; entry:map.entrySet()){ System.out.println("key="...

2018-08-01 09:30:27 17040

原创 java8新特性Base64

前言: 为什么有时候用记事本打开exe,jpg,pdf这些文件会看到一堆乱码? 如何要让记事本这样的文本处理软件能处理二进制数据,就需要一个二进制到字符串的转换方法,Base64是一种最常见的二进制编码方法。我简述一下我为什么写这篇文章,在昨天发布了我的上一篇文章之后,我哥(目前架构师,我崇拜的对象)私聊我说你可以谢谢脱离框架的东西,其实对于我这种比较小白的人来说不知所措,他就给我推...

2018-08-01 09:11:31 180

原创 Spring IoC和DI之间有趣灵魂的碰撞

前言: 一直知道控制反转和依赖注入,那到底是什么含义呢?接下来就让我为大家细细讲解一番,认真看咯,嘻嘻!IoC是什么Ioc-Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的再你的对象内部直接控制。如何理解好Ioc呢?理解好Ioc的关键是要明确“谁控制谁,控制什么,为何...

2018-08-01 09:07:06 138

空空如也

空空如也

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

TA关注的人

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