java
文章平均质量分 54
FAIRY哦
也许,不断学习会是我这辈子最快乐的事情。
展开
-
【面试】赢时胜和花旗
一、赢时胜1、springmvc的底层DispatcherServlet->HandlerMaping->Handler->HandlerAda2、spring注入的方式,spring循环依赖,注解是否解决了循环依赖3、nginx有配置过吗,底层原理4、你们是怎么上线的,上线的一个流程5、war包和jar包的区别,java jar包启动命令,java -jar有了解吗二、花旗1、mybatis#和$的区别2、mybatis二级缓存3、怎么让一个集合只读,用过final关原创 2022-04-27 16:09:16 · 320 阅读 · 0 评论 -
【Mybatis】在idea中使用Mybatis的逆向工程
数据库表如下:导入jar包。File->Project Structure->Modules创建如下图所示的目录:generatorConfig.xml如下:注意修改数据库名字以及用户名和密码。<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration ...原创 2019-04-22 09:18:14 · 490 阅读 · 2 评论 -
【JVM】Java垃圾回收机制(GC)详解
Java垃圾回收机制(GC)详解一、为什么需要垃圾回收?如果不进行垃圾回收,内存迟早都会被消耗空,因为我们在不断的分配内存空间而不进行回收。除非内存无限大,我们可以任性的分配不回收,但是事实并非如此。所以,垃圾回收是必须的。二、哪些内存需要回收?哪些内存需要回收是垃圾回收机制第一个要考虑的问题,所谓“要回收的垃圾”无非就是那些不可能再被任何途径所使用的对象。那么,如何找到这些对象?引用...原创 2019-05-08 17:23:32 · 749 阅读 · 0 评论 -
【JVM】浅析java内存模型——JMM(Java Memory Model)
在并发编程中,多个线程之间采取什么机制进行通信(信息交换),什么机制进行数据的同步?在Java语言中,采用的是共享内存模型来实现多线程之间的信息交换和数据同步的。线程之间通过共享程序公共的状态,通过读-写内存中公共状态的方式来进行隐式的通信。同步指的是程序在控制多个线程之间执行程序的相对顺序的机制,在共享内存模型中,同步是显式的,程序员必须显式指定某个方法/代码块需要在多线程之间互斥执行。在...原创 2019-05-08 21:21:45 · 234 阅读 · 0 评论 -
【Spring】Spring复习之AOP
一、AOP的相关概念1.1 AOP概述1.1.1 什么是AOP?AOP:全称是Aspect Oriented Programming 即:面向切面编程。在软件业,AOP通过预编译的方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架的一个重要内容,是函数式编程的一种衍生泛型。利用AOP可以对业务逻辑的各个部分进行隔离,从而...原创 2019-05-13 21:47:41 · 287 阅读 · 0 评论 -
【Spring】Spring复习之JDBC
一、Spring中的JdbcTemplate1.1 JdbcTemplate概述它是Spring框架中提供的一个对象,是对原始Jdbc API对象的简单封装。Spring框架为我们提供了很多的操作类模板。操作关系型数据库的:JdbcTemplateHibernateTemplate操作nosql数据库的:RedisTemplate操作消息队列的:JmsTemplate...原创 2019-05-14 21:45:46 · 132 阅读 · 0 评论 -
【Spring】Spring中@Resource和@Autowired关系
原文地址:https://www.cnblogs.com/think-in-java/p/5474740.htmlSpring注解@Resource和@Autowired区别对比@Resource和@Autowired都是做bean的注入时使用,其实@Resource并不是Spring的注解,它的包是javax.annotation.Resource,需要导入,但是Spring支持该注解的注入...转载 2019-05-15 11:16:27 · 131 阅读 · 0 评论 -
【Spring】Spring经典面试题
Spring概述1. 什么是Spring?Spring是个Java企业级应用的开源开发框架。Spring主要用来开发java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring框架目标是简化Java企业级应用开发,并通过POJO为基础的编程模型促进良好的编程习惯。2. 使用Spring框架的好处是什么?轻量:Spring是轻量的,基本的版本大约2MB。控制反转:Spring...原创 2019-05-10 15:12:56 · 2086 阅读 · 0 评论 -
【Spring】Spring复习之事务控制
Spring中的事务控制1. Spring事务控制我们要明确的第一:JavaEE体系进行分层开发,事务处理位于业务层,Spring 提供了分层设计业务层的事务处理解决方案。第二:Spring 框架为我们提供了一组事务控制的接口。在spring-tx-4.2.3.RELEASE.jar 中。第三:Spring 的事务控制都是基于AOP的,它既可以使用编程的方式实现,也可以使用配置的方式实现。...原创 2019-05-15 21:17:06 · 240 阅读 · 2 评论 -
【Spring】Spring复习之基础和IOC
一、Spring概述1. Spring是什么?Spring是分层的Java SE/EE应用 full-stack 轻量级开发框架,以IOC(Inverse Of Course:控制反转)和AOP(Aspect Oriented Programming:面向切面编程)为内核,提供了展现层Spring MVC和持久层Spring JDBC以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众...原创 2019-05-10 23:21:29 · 401 阅读 · 0 评论 -
【Spring】Spring复习之基于注解的IOC和JUnit整合
一、基于注解的IOC配置常用注解1. 用于创建对象的(相当于<bean id="" class="’>)@Component作用:把资源让Spring 来管理。相当于在XML中配置一个bean。属性:value:指定bean的id。如果不指定value属性,默认bean 的id 是当前类的类名,首字母小写。@Controller @Service @Reposi...原创 2019-05-12 16:15:28 · 192 阅读 · 0 评论 -
Java静态代理和动态代理
Java静态代理和动态代理一、概述代理是一种模式,提供了对目标对象的间接访问方式,即通过代理访问目标对象。如此便于在目标实现的基础上增加额外的功能操作,前拦截,后拦截等,以满足自身的业务需求,同时代理模式便于扩展目标对象功能的特点也为多人所用。二、图形描述三、静态代理静态代理的实现比较简单,代理类通过实现与目标对象相同的接口,并在类中维护一个代理对象。通过构造器塞入目标对象,赋值给代理...转载 2019-06-16 10:00:54 · 183 阅读 · 0 评论 -
【Spring】Spring AOP
AOPAOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。OOP引入封装、继承、多态等概念来建立一种对象层次结构,用于模拟公共行为的一个集合。不过OOP允许开发者定义纵向的关系,但并不适合定义横向的关系,例如日志功能。日志代码往往横向地散布在所有对象层次中,而与它对应...转载 2019-06-16 14:23:49 · 206 阅读 · 0 评论 -
【Java】extends和super泛型限定符
请解释extends 和super 泛型限定符-上界不存下界不取extends上限通配符,用来限制类型的上限,只能传入本类和子类,add方法受阻,可以从一个数据类型里获取数据;super下限通配符,用来限制类型的下限,只能传入本类和父类,get方法受阻,可以把对象写入一个数据结构里;在java泛型中,? 表示通配符,代表未知类型,< ? extends Object>表示上边界限...转载 2019-08-22 09:05:56 · 638 阅读 · 0 评论 -
【LeetCode】N皇后问题之Java解法
N皇后问题n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。上图为 8 皇后问题的一种解法。给定一个整数 n,返回所有不同的 n 皇后问题的解决方案。每一种解法包含一个明确的 n 皇后问题的棋子放置方案,该方案中 ‘Q’ 和 ‘.’ 分别代表了皇后和空位。示例:输入: 4输出: [ [".Q..", // 解法 1 "...Q"...原创 2019-04-14 16:15:19 · 646 阅读 · 0 评论 -
【Java基础】重载和重写的区别?重载的方法能否根据返回类型区别?
一、重载和重写的区别方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性。重载发生在一个类中,同名的方法如果有不同的参数列表(参数类型不同、参数个数不同、参数顺序不同或者两者都不同),则视为重载。重写发生在子类与父类之间, 重写要求子类被重写方法和父类被重写方法有相同的返回类型,比父类被重写方法更好访问,不能比父类被重写方法声明更多的异常(里氏...原创 2019-03-13 09:12:22 · 1481 阅读 · 0 评论 -
【Java】Java基础语法:第1章 Java开发环境搭建
Java开发环境搭建 1 Java概述 众所周知Java是一门编程语言,编程语言就是用来编写软件的。那么使用Java到底能用来编写什么软件呢?你所熟知的很多软件都可以用Java来编写,例如:QQ、迅雷、淘宝、京东等等,那么Java比较擅长什么呢?也就是说我们将来从事Java开发工程师工作到底要编写什么类型的软件呢?答案是:互联网:电商、P2P等等; 企业级应用:ERP、CRM、BO...原创 2018-09-28 11:35:17 · 254 阅读 · 0 评论 -
【Java】java中变量的存储位置
java中变量的存储位置1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。)3. 堆:存放所有new出来的对象。4. 静态域:存放静态成员(static定义的)5. 常量池:存放字符串常量和基本类型常量(public...转载 2018-10-13 11:28:12 · 380 阅读 · 0 评论 -
【Java】Java基础语法:第5章 变量
Java基础语法今日内容介绍u 变量u 运算符第1章 变量1.1 变量概述前面我们已经学习了常量,接下来我们要学习变量。在Java中变量的应用比常量的应用要多很多。所以变量也是尤为重要的知识点!什么是变量?变量是一个内存中的小盒子(小容器),容器是什么?生活中也有很多容器,例如水杯是容器,用来装载水;你家里的大衣柜是容器,用来装载衣裤;饭盒是容器,用来装载饭菜。那么变量是装载什么的呢...原创 2018-10-13 11:33:26 · 125 阅读 · 0 评论 -
【Java】Java基础语法:第3章 注释、关键字与标识符
3.1 程序注释通常我们需要在源代码中添加文字用来对进行代码解释说明,但这些文字并不是Java代码的语法,会导致编译出错。这时我们可以使用注释来完成这一事项!在编译时,编译器会忽略注释的存在,就好像注释内容不存在一样。所以注释并不会导致编译出错,同时注释还方便编写者和其他人阅读源代码,加强对代码的理解。Java中提供了三种注释方式,分别是:l 单行注释 //注释内容l 多...转载 2018-10-07 18:01:27 · 111 阅读 · 0 评论 -
【Java】Java基础语法:第4章 数据
第4章 数据4.1 程序概述 软件是什么?其实软件就是用来处理数据的程序。可以把软件分为两个部分,一个部分是“数据”;另一个部分是“数据处理的逻辑”。 程序 = 数据 + 逻辑 什么是数据?用电商来举例,用户就是数据,商品也是数据。那么什么是数据处理逻辑呢?购买商品的流程就是数据处理逻辑了。 程序开发离不开数据,其实说白了程序就是用来处理数据的。在Java中我们要学习数据的类...原创 2018-10-08 20:30:43 · 89 阅读 · 0 评论 -
【Java】Java基础语法:第2章 Hello World案例
第2章 Hello World案例2.1 Java程序介绍在开始案例之前,我们需要了解一下Java应用程序的编写流程。通过上图我们可以了解到编写的程序大致如下;1. 源文件:编写Java源文件(我们也称之为源代码文件),它的扩展名为.java;2. 编译:然后通过编译器把源文件编译成字节码文件,字节码文件扩展名为.class;3. 运行:最后使用解释器来运行字节码文件。...转载 2018-09-30 19:24:40 · 204 阅读 · 0 评论 -
【Java】Java的特点
JAVA语言主要特点有哪些?1.简单Java最初是为对家用电器进行集成控制而设计的一种语言,因此它必须简单明了。Java语言的简单性主要体现在以下三个方面:Java的风格类似于C++,因而C++程序员是非常熟悉的。从某种意义上讲,Java语言是C及C++语言的一个变种,因此,C++程序员可以很快就掌握Java编程技术。Java摒弃了C++中容易引发程序错误的地方,如指针和内存管理。...转载 2018-10-21 12:21:49 · 506 阅读 · 2 评论 -
【Java】Java基础(一)
一.面向对象和面向过程的区别1.面向过程优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源,比如单片机、嵌入式开发、Linux/Unix、等一般采用面向过程开发,性能是最主要的因素。缺点:没有面向对象易维护、易复用、易扩展2.面向对象优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态的特性,可以涉及出低耦合的系统,使系统更加灵活、更加易于维护。缺点:性能...原创 2019-03-08 14:22:34 · 239 阅读 · 0 评论 -
【Java】并发编程:volatile关键字
在Java5之前,volatile关键字在程序中使用往往会导致一些出人意料的结果。在Java5之后,volatile关键字才重获生机。一.内存模型的相关概念大家都知道,计算机在执行程序时,每条指令都是在CPU中执行的,而指令执行过程中,势必会涉及到数据的读取和写入。由于程序运行中的临时数据是存放在(物理内存)当中的,这时就存在一个问题,由于CPU执行速度很快,而从内存读取数据和向内存写入数据的...原创 2019-03-14 14:50:04 · 143 阅读 · 0 评论 -
【Java】Java中的锁
Java中的锁公平锁/非公平锁可重入锁独享锁/共享锁互斥锁/读写锁乐观锁/悲观锁分段锁偏向锁/轻量级锁/重量级锁自旋锁一、公平锁/非公平锁公平锁是指多个线程按照申请锁的顺序来获取锁。**非公平锁是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程先获取到锁。**有时候,会造成优先级反转或者饥饿现象。对于Java“ReeddtrantLock”...原创 2019-03-20 08:27:32 · 152 阅读 · 0 评论 -
【Java】Java基础(二)
一、面向对象**1. 抽象:**抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关心这些行为的细节是什么。**2. 封装:**通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。面向对象的本质就是将现实世界描绘成一系列完全自治、封闭的对象。我们在类中编写的方法就是对实现细节的一种封装;我们编写一个类...原创 2019-03-11 17:01:26 · 158 阅读 · 0 评论 -
【Java】多线程基础
一、进程和线程1.进程进程是具有一定独立功能的程序关于某个数据集和上的一次运行活动,是系统进行资源分配和调度的一个独立单位。 进程可以理解为受操作系统管理的基本运行单元。2.线程线程是进程的一个实体,是CPU调度和分配的基本单位,但是他是比进程更小的能独立运行的基本单位,线程自己基本上可以不拥有系统资源,只拥有一点在再运行中必不可少的资源(如程序计数器,一组寄存器和栈),一个线程可以创建和...原创 2019-03-16 22:45:18 · 161 阅读 · 0 评论 -
【Java基础】String、StringBuilder、StringBuffer的区别
一、String1.String类的特性(1)String是个final类:所以String类是不可继承的。同样String对象的值是不可以被改变的。(2)String对象的创建方法比较(原理比较):在JVM加载运行class文件时,对于字节文件中出现的常量(符号引用、字符串字面量等)会在方法区的常量池中分类存放。其中,源代码中出现过的字符串 字面量会保存在CONSTANT_String...原创 2019-03-12 23:04:48 · 140 阅读 · 0 评论 -
【Java】实现Comparable接口和Comparator接口,并重写compareTo方法和compare方法
实现Comparable接口和Comparator接口,并重写compareTo方法和compare方法2016年08月11日 14:39:25 苏尹 阅读数:10772更多个人分类: 学习笔记实体类:java.lang.Comparable(接口) + comareTo(重写方法),业务排序类 java.util.Comparator(接口) + compare(重写方法).这两...转载 2018-09-26 15:44:02 · 503 阅读 · 0 评论