
java
xuaman
这个作者很懒,什么都没留下…
展开
-
springboot读取外部配置文件
https://blog.youkuaiyun.com/qq_42074921/article/details/89488192https://blog.youkuaiyun.com/liqi_q/article/details/84565252https://blog.youkuaiyun.com/wohaqiyi/article/details/79940380https://blog.youkuaiyun.com/jiashi...原创 2020-03-11 16:17:46 · 256 阅读 · 1 评论 -
跨域详解
最近浅入前端的坑,把一些刚入门的小坑填上,用于后续回顾。日常的前端开发中,不免会需要进行跨域操作,而在实际进行跨域请求时,经常会遇到类似这样的报错。通常,这样的错误是由于CORS跨域验证机制设置不正确导致的。根据同源策略,浏览器默认是不允许XMLHttpRequest对象问非同一站点下的资源的,即用ajax方式访问非同一域名下的资源会出错。比如当google要通过ajax去访问百度...转载 2020-02-27 10:52:49 · 1499 阅读 · 0 评论 -
JWT是什么?跟token有什么关系?token的原理?
什么是JWTJSON Web Token (JWT) is a compact, URL-safe means of representing claims to be transferred between two parties. The claims in a JWT are encoded as a JSON object that is used as the payload of...转载 2020-02-27 10:26:43 · 4972 阅读 · 2 评论 -
为什么会有跨域?跨域的原因是什么?
原文链接:https://www.zhihu.com/question/31592553跨域+springmvc http://blog.youkuaiyun.com/wabiaozia/article/details/52778335跨域:ajax跨域,这应该是最全的解决方案了http://web.jobbole.com/93344/阮一峰 跨域资源共享 CORS 详解:http://...转载 2020-02-27 10:25:15 · 2906 阅读 · 0 评论 -
entity、bo、vo、po、dto、pojo如何理解和区分?
Java开发过程中,基本实体类包都以entity或者model来称呼,可是不少项目中,却以Bo、Vo来命名,面试的时候,也有可能被问到这些问题。那么,这几者分别代表什么意思呢?Entity最常用实体类,基本和数据表一一对应,一个实体一张表。Bo(business object)代表业务对象的意思,Bo就是把业务逻辑封装为一个对象(注意是逻辑,业务逻辑),这个对象可以包括一个或多个其...转载 2020-01-09 19:28:14 · 4286 阅读 · 0 评论 -
Mybatis-generator/通用Mapper/Mybatis-Plus对比
1. Mybatis-generatorMyBatis Generator(MBG)是MyBatis MyBatis 和iBATIS的代码生成器。它为所有版本的MyBatis以及版本2.2.0之后的iBATIS版本生成代码。它将根据数据库表生成可用于访问表的文件。Mybatis-generator主要完成的工作是依据数据库表创建对应的model、dao、mapping文件,可以通过Maven...转载 2020-01-09 19:25:46 · 1322 阅读 · 0 评论 -
Spring Data JPA、 MyBatis与Hibernate到底该用谁
数据库持久层,这三者是主流,这三者到底有什么区别和优略呢?一、技术简述1、Spring Data JPA与HibernateSpring Data JPA是Spring Data的子模块。使用Spring Data,使得基于“repositories”概念的JPA实现更简单和容易。Spring Data JPA的目标是大大简化数据访问层代码的编码。作为使用者,我们只需要编写自己的rep...转载 2020-01-09 18:57:32 · 351 阅读 · 0 评论 -
比较spring cloud和dubbo,各自的优缺点是什么
dubbo由于是二进制的传输,占用带宽会更少springCloud是http协议传输,带宽会比较多,同时使用http协议一般会使用JSON报文,消耗会更大dubbo的开发难度较大,原因是dubbo的jar包依赖问题很多大型工程无法解决springcloud的接口协议约定比较自由且松散,需要有强有力的行政措施来限制接口无序升级dubbo的注册中心可以选择zk,redis等多种,spr...转载 2019-12-30 15:56:13 · 437 阅读 · 0 评论 -
浅析Spring boot与Spring cloud 之间的关系
有些童鞋刚接触这块 ,理解不是很深刻会经常问道这样类似的问题,下面我就简单讲解一下Spring boot与Spring cloud 之间的关系!Spring boot 是 Spring 的一套快速配置脚手架,可以基于spring boot 快速开发单个微服务,Spring Boot,看名字就知道是Spring的引导,就是用于启动Spring的,使得Spring的学习和使用变得快速无痛。不仅...转载 2019-12-30 15:55:16 · 183 阅读 · 0 评论 -
Spring SpringMVC SpringBoot SpringCloud概念、关系及区别
一、正面解读:Spring主要是基于IOC反转Beans管理Bean类,主要依存于SSH框架(Struts+Spring+Hibernate)这个MVC框架,所以定位很明确,Struts主要负责表示层的显示,Spring利用它的IOC和AOP来处理控制业务(负责对数据库的操作),Hibernate主要作用是数据的持久化到数据库。SpringMVC是基于Spring的一个MVC框架,用...转载 2019-12-30 15:54:01 · 215 阅读 · 0 评论 -
JAVA线程池的基本使用-ThreadPoolExecutor
最近在搞文件分片传输,无意间接触到了线程池,网上很多资料写的都太复杂了,不适合新手使用,下面咱们介绍一下线程池的基本用法。第一步:new一个线程池。ThreadPoolExecutor moThrPool = new ThreadPoolExecutor(10, 10, 1000, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<...原创 2019-12-24 09:55:29 · 229 阅读 · 0 评论 -
Spring自动注入,@Autowired
相信大家经常使用Spring自动注入功能,来完成service层和controller层的交互,但很多人并不知道其中的原理是什么,为什么要这样用。其实他的本质是一种面向接口编程的实例应用。什么是面向接口编程,请查看我的博客中的其他文章。声明接口public interface TestService{ public void sayHi();} 实现类1@Service("First原创 2016-12-30 11:08:31 · 702 阅读 · 0 评论 -
【深入理解JVM】类加载器与双亲委派模型
原文链接:http://blog.youkuaiyun.com/u011080472/article/details/51332866,http://www.cnblogs.com/lanxuezaipiao/p/4138511.html加载类的开放性类加载器(ClassLoader)是Java语言的一项创新,也是Java流行的一个重要原因。在类加载的第一阶段“加载”过程中,需要通过一个类的全限定名来获取定义...转载 2018-03-14 11:15:57 · 246 阅读 · 0 评论 -
slf4j的简单介绍(1)
1 基本介绍每一个Java程序员都知道日志对于任何一个Java应用程序尤其是服务端程序是至关重要的,而很多程序员也已经熟悉各种不同的日志库,如java.util.logging、Apache log4j、logback。但如果你还不知道SLF4J(Simple logging facade for Java)的话,那么是时候在你的项目中学习使用SLF4J了。SLF4J不同于其他日志类库,与其它日志...转载 2018-03-31 17:18:05 · 523 阅读 · 0 评论 -
slf4j简单介绍(2)-使用
工程目录如下 代码里面用的是slf4j,但是想要用log4j来管理日志,就得添加slf4j本来的jar,然后添加log4j和slf4j箱关联的jar即可。 如果是maven项目的话添加下面的依赖即可<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api --><dependency> <grou...原创 2018-03-31 17:21:28 · 1127 阅读 · 0 评论 -
slf4j简单介绍(3)-spring下使用
增加pom配置,让maven加载log4j包<!-- log4j--> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.2</version>转载 2018-03-31 17:30:39 · 279 阅读 · 0 评论 -
获取注解-类,属性,方法 java
一、获取类上的注解Java获取类上的注解有下面3个方法:Class.getAnnotations() 获取所有的注解,包括自己声明的以及继承的Class.getAnnotation(Class< A > annotationClass) 获取指定的注解,该注解可以是自己声明的,也可以是继承的Class.getDeclaredAnnotations() 获取自己声明的注解下面,我们来演示...转载 2018-04-11 17:21:34 · 3474 阅读 · 0 评论 -
通过反射设置类的实例的属性和获取实例的属性
第一步:创建类的实例 在起初没有制定类,需要获取该类,可以使用:static Class forName(String className) 使用全路径创建,获取类。 Class<?> ownClass = Class.forName("l路径"); 在获取或知道类之后,使用 Object obj = ownClass.newInstance();第二步:获取...原创 2018-04-11 18:19:30 · 3112 阅读 · 0 评论 -
枚举的正确使用方法-java
今天的话题是枚举,内容很基础,不妨以故事情节展开,最后引出使用枚举的好处。需求:有一个任务(Task),服务端定义了一个int status来标记任务的状态,包括 未开始、进行中、已完成 这三个状态,分别用 0、1、2 来标记。我们拿到这个status之后,需要根据状态的不同,显示不同的文本(需求仍在挖掘中)。需求很明确,一般我们会这么做。在全局的常量类中定义定义3个静态常量表示状态常量:接下来在...转载 2018-04-19 15:39:15 · 1403 阅读 · 0 评论 -
枚举 注解 常量的使用区别
虽然我今天要打脸,介绍如何使用注解,慎用枚举,但其实在之前的文章最后,我很明显的提议大家分场景的使用:最后,声明一点,我所说的使用枚举替换常量,是针对类似于 “常量之间存在关联” 的情况,并不是说以后所有常量都写成枚举,毕竟官方是不推荐使用枚举的。所以在实际开发中,还需要根据实际使用场景去斟酌,杜绝滥用。为了让读者更好的区分常量、注解和枚举的使用场景,我将分别就不同的场景,为大家介绍相应的使用方案...转载 2018-04-19 15:53:39 · 2019 阅读 · 1 评论 -
maven多模块构建
工具:eclipse、tomcat、maven注:tomcat用的是eclipse自带的server配置的tomcat。没有的在eclipse商店中下载。好久没有用maven了,今天心血来潮再搭建一个maven的项目,国内的文章大多只讲方法,不讲为什么,很多东西都是一知半解,用了就忘了,想学的更多还需要去官方看看,才能更好的理解。本文作为主要作为一个笔记,半个教程,供自己和他人参考。一、新建mav...原创 2018-04-20 17:30:27 · 564 阅读 · 0 评论 -
多态-java
用一句话概括就是:事物在运行过程中存在不同的状态。先以教科书般举例说明,下文再举一个花木兰替父从军的例子帮助大家理解. 多态的存在有三个前提:1.要有继承关系2.子类要重写父类的方法3.父类引用指向子类对,但是其中又有很多细节需要注意。首先我们定义两个类,一个父类Animal,一个子类Cat。父类Animalclass Animal { int num = 10; static int age...转载 2018-03-12 10:34:41 · 304 阅读 · 0 评论 -
接口和抽象类的区别-java
接口和抽象类都是继承树的上层,他们的共同点如下:1) 都是上层的抽象层。2) 都不能被实例化3) 都能包含抽象的方法,这些抽象的方法用于描述类具备的功能,但是不比提供具体的实现。他们的区别如下:1) 在抽象类中可以写非抽象的方法,从而避免在子类中重复书写他们,这样可以提高代码的复用性,这是抽象类的优势;接口中只能有抽象的方法。2) 一个类只能继承一个直接父类,这个父类可以是具体的类也可是...转载 2018-03-12 10:30:49 · 221 阅读 · 0 评论 -
java代理模式
1.三种代理模式代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法举个例子来说明代理的作用:假设我们想邀请一位明星,那么并不是直接连接明星,而是联系明星的经...转载 2018-03-09 11:11:56 · 179 阅读 · 0 评论 -
什么是serialVersionUID,serialVersionUID的作用
serialVersionUID适用于Java的序列化机制。简单来说,Java的序列化机制是通过判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体类的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常,即是InvalidCastEx转载 2017-04-08 10:40:12 · 471 阅读 · 0 评论 -
web.xml加载顺序
web.xml加载过程(步骤): 1.启动WEB项目的时候,容器(如:Tomcat)会去读它的配置文件web.xml.读两个节点: 和 2.紧接着,容器创建一个ServletContext(上下文),这个WEB项目所有部分都将共享这个上下文.3.容器将转化为键值对,并交给ServletContext.4.容器创建中的类实例,即创建监听.转载 2017-01-13 10:48:35 · 340 阅读 · 0 评论 -
单例模式的七种写法
转载请注明出处:http://cantellow.iteye.com/blog/838473 第一种(懒汉,线程不安全): Java代码 public class Singleton { private static Singleton instance; private Singleton (){} public stati转载 2017-01-13 10:38:57 · 257 阅读 · 0 评论 -
java内存模型-多线程
Java内存模型即Java Memory Model,简称JMM。JMM定义了Java 虚拟机(JVM)在计算机内存(RAM)中的工作方式。JVM是整个计算机虚拟模型,所以JMM是隶属于JVM的。如果我们要想深入了解Java并发编程,就要先理解好Java内存模型。Java内存模型定义了多线程之间共享变量的可见性以及如何在需要的时候对共享变量进行同步。原始的Java内存模型效率并不是很理转载 2017-01-12 15:06:24 · 353 阅读 · 0 评论 -
面向接口编程(3)--升华与提高
通过前面两篇,我想各位朋友对“面向接口编程”的思想有了一定认识,并通过第二篇的例子,获得了一定的直观印象。但是,第二篇中的例子旨在展示面向接口编程的实现方法,比较简单,不能体现出面向接口编程的优势和这种思想的内涵。那么,这一篇作为本系列的终结篇,将通过分析几个比较有深度的模式或架构,解析隐藏其背后的面向接口思想。这篇我将要分析的分别是MVC模式和.NET平台的分层架构。这篇的内容可能会比较转载 2016-12-30 10:29:05 · 303 阅读 · 0 评论 -
面向接口编程(2)-编程实例
通过上一篇文章的讨论,我想各位朋友对“面接接口编程”有了一个大致的了解。那么在这一篇里,我们用一个例子,让各位对这个重要的编程思想有个直观的印象。为充分考虑到初学者,所以这个例子非常简单,望各位高手见谅。问题的提出 定义:现在我们要开发一个应用,模拟移动存储设备的读写,即计算机与U盘、MP3、移动硬盘等设备进行数据交换。上下文(环境):已知要实现U盘、MP3播放器、移动转载 2016-12-30 10:21:14 · 356 阅读 · 0 评论 -
面向接口编程(1)--思想基础
我想,对于各位使用面向对象编程语言的程序员来说,“接口”这个名词一定不陌生,但是不知各位有没有这样的疑惑:接口有什么用途?它和抽象类有什么区别?能不能用抽象类代替接口呢?而且,作为程序员,一定经常听到“面向接口编程”这个短语,那么它是什么意思?有什么思想内涵?和面向对象编程是什么关系?本文将一一解答这些疑问。1.面向接口编程和面向对象编程是什么关系首先,面向接口编程和面向对象编程并转载 2016-12-30 10:17:18 · 222 阅读 · 0 评论 -
java常量池
1.常量池的有什么用:常量池是为了避免频繁的创建和销毁对象而影响系统性能,其实现了对象的共享。2.常量池的存储:一般指的常量池是指运行时常量池,是方法区的一部分。常量池的初始内容则存储在编译后的Class文件中。3.常量池中有什么:常量池主要用于存放两大类常量:字面量(Literal)和符号引用量(Symbolic References),字面量相当于Java语言层面常量的原创 2016-12-19 13:27:43 · 430 阅读 · 0 评论 -
html和jsp的区别--静态页面和动态页面的区别
一、静态web页面,一般指html:1、在静态Web程序中,客户端使用Web浏览器(IE、FireFox等)经过网络(Network)连接到服务器上,使用HTTP协议发起一个请求(Request),告诉服务器我现在需要得到哪个页面,所有的请求交给Web服务器,之后WEB服务器根据用户的需要,从文件系统(存放了所有静态页面的磁盘)取出内容。之后通过Web服务器返回给客户端,客户端接收到内容之转载 2017-04-06 15:43:35 · 80436 阅读 · 2 评论 -
iis,tomcat,apache之间的区别
IIS-Apache-Tomcat的区别 IIS与Tomcat的区别 IIS是微软公司的Web服务器。主要支持ASP语言环境. Tomcat是Java Servlet 2.2和JavaServer Pages 1.1技术的标准实现,是基于Apache许可证下开发的SJP语言环境容器,严格得说不能算是一个WEB服务器,而是Apache服务适配器。tomcat主要的任务转载 2017-10-20 16:27:20 · 1096 阅读 · 0 评论 -
设计模式之策略模式
原文地址:http://blog.youkuaiyun.com/u012124438/article/details/70039943写代码时总会出很多的if…else,或者case。如果在一个条件语句中又包含了多个条件语句就会使得代码变得臃肿,维护的成本也会加大,而策略模式就能较好的解决这个问题,本篇博客就带你详细了解策略模式。策略模式的定义和使用场景定义:策略模式定义了一系列的算法,并将每一个算法封装起来...转载 2018-03-15 10:30:59 · 186 阅读 · 1 评论 -
.classpath和.project的作用
第一部分:classpath是系统的环境变量,就是说JVM加载类的时候要按这个路径下去找,当然这个路径下可以有jar包,那么就是jar包里所有的class。 eclipse build path是eclipse工程里需要的包,也是需要的class,本质上没什么区别。 你可以测试,比如JDK中有个String类,在java.lang中,那么你自己声明一个别的包,类叫String,然后打个ja转载 2017-12-21 09:03:46 · 1717 阅读 · 0 评论 -
tomcat部署方式
虽然很简单,但却是必不可少的基础,一步一步走,别着急。 在Tomcat中有四种部署Web应用的方式,简要的概括分别是:(1)利用Tomcat自动部署(2)利用控制台进行部署(3)增加自定义的Web部署文件(%Tomcat_Home%\conf\Catalina\localhost\AppName.xml)(4)手动修改%Tomcat_Home%\conf\s转载 2017-11-30 16:06:47 · 360 阅读 · 0 评论 -
servlet与cgi的区别与关系(3)--关于CGI:Tomcat、PHP、Perl、Python和FastCGI之间的关系
Web服务器是一个很简单的东西,并不负责动态网页的构建,只能转发静态网页。同时Apache也说,他能支持perl,生成动态网页。这个支持perl,其实是apache越位了,做了一件额外的事情。 现在我们看生成动态网页这件事情。 CGI的定义是:外部应用程序与Web服务器之间的接口。 明白了吧?也就是说,所谓的动态网页,都是要外部转载 2017-11-06 17:07:46 · 1330 阅读 · 0 评论 -
servlet与cgi的区别与关系(2)--servlet与tomcat
当初在Apache开发时还未出现Servlet的概念,所以Apache不能内置支持Servlet。实际上,除了Apache,其他许多Web服务器软件都不能直接支持Servlet。为了支持Servlet,通常要单独开发程序,这种程序一般称为服务器小程序容器(Servlet Container),有时也叫做服务器小程序引擎(Servlet Engine)。它是Web服务器或应用程序服务器的一部分,用于转载 2017-11-06 17:03:05 · 375 阅读 · 0 评论 -
servlet与cgi的区别与关系(1)--两者区别
CGI:Common Gateway Interface,通用网关接口。CGI处理步骤首先,客户端(即Web浏览器)根据某资源的URL向Web服务器提出请求;Web服务器的守护进程(HTTP Daemon)将此请求的参数通过标准输入和环境变量传递给指定的CGI程序,并启动此应用程序进行处理,如要存取数据库服务器上数据库的数据,则向数据库服务器发出处理请求,数据库服务器将执行结果返回转载 2017-11-06 17:00:37 · 735 阅读 · 0 评论