自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JVM参数类型

JVM参数类型有三种标配参数:-verson-helpJava -showversion下面是图示:X参数:-Xint:解释执行-Xcomp:第一次使用就编译的成本地代码-Xmixed:混合模式XX参数主要是两种:一种是Boolean类型,一种是KV设置类型Boolean类型公式:-XX:+/- -某个属性注意:+表示开启,-表示关闭这里举例两个例子查看...

2019-09-27 14:53:06 160

原创 扑克牌顺子,圆圈中最后剩下的数, 股票的最大利润,求 1+2+3+...+n

题目描述五张牌,其中大小鬼为癞子,牌面为 0。判断这五张牌是否能组成顺子。解题思路先对数组进行排序,然后找到癞子的数量,然后如果又相同的除了零之外的返回false,然后癞子来补齐扑克牌,看是否是顺子package com.xhh.offer;import java.util.Arrays;/** * 扑克牌顺子 * * @author xhh * */public c...

2019-08-26 15:50:48 183

原创 两个链表的第一个公共结点,数字在排序数组中出现的次数

题目描述解题思路设 A 的长度为 a + c,B 的长度为 b + c,其中 c 为尾部公共部分长度,可知 a + c + b = b + c + a。当访问链表 A 的指针访问到链表尾部时,令它从链表 B 的头部重新开始访问链表 B;同样地,当访问链表 B 的指针访问到链表尾部时,令它从链表 A 的头部重新开始访问链表 A。这样就能控制访问 A 和 B 两个链表的指针能同时访问到交点...

2019-08-20 10:40:39 170

原创 把数组排成最小的数,把数字翻译成字符串

题目描述输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组 {3,32,321},则打印出这三个数字能排成的最小数字为 321323。解题思路先将数组转换成字符串数组,然后对字符串数组按照规则排序,最后将排好序的字符串数组拼接出来。关键就是制定排序规则:若ab > ba 则 a > b若ab < ba 则 a &...

2019-08-19 19:33:40 137

原创 数据流中的中位数,字符流中第一个不重复的字符,连续子数组的最大和

题目描述如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。解题思路我们可以将数据排序后分为两部分,左边部分的数据总是比右边的数据小。那么,我们就可以用最大堆和最小...

2019-08-18 18:07:19 166

原创 序列化二叉树,字符串的排列,数组中出现次数超过一半的数字(众数)

题目描述请实现两个函数,分别用来序列化和反序列化二叉树解题思路对于序列化:使用前序遍历,递归的将二叉树的值转化为字符,并且在每次二叉树的结点不为空时,在转化val所得的字符之后添加一个’,’作为分割; 对于空节点则以 ‘$,’ 代替。对于反序列化:将字符串按照“,”进行分割,插入到队列中,然后依次从队列中取出字符建立节点,递归创建一个二叉树。/** * 序列化二叉树 * * @...

2019-08-17 18:20:08 131

原创 剪绳子,打印从 1 到最大的 n 位数,链表中倒数第 K 个结点,找到链表环的入口

题目描述把一根绳子剪成多段,并且使得每段的长度乘积最大。解题思路贪心尽可能多剪长度为 3 的绳子,并且不允许有长度为 1 的绳子出现。如果出现了,就从已经切好长度为 3 的绳子中拿出一段与长度为 1 的绳子重新组合,把它们切成两段长度为 2 的绳子。证明:当 n >= 5 时,3(n - 3) - n = 2n - 9 > 0,且 2(n - 2) - n = n - 4 ...

2019-08-16 16:05:40 75

原创 回溯法:打印矩阵的路径,机器人运动的路径

题目描述请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则之后不能再次进入这个格子。 例如 a b c e s f c s a d e e 这样的3 X 4 矩阵中包含一条字符串”bcced”的路径,但是矩阵中不包含”abcb”路径,因为字符...

2019-08-16 10:46:19 234

原创 从上往下打印二叉树,判断该数组是不是某二叉搜索树的后序,前序,或者是中序遍历的结果,二叉树中和为某一值的路径

题目描述从上往下打印出二叉树的每个节点,同层节点从左至右打印。解题思路就是二叉树的层序遍历。借助一个队列就可以实现。使用两个队列一个存放节点,一个存放值。先将根节点加入到队列中,然后遍历队列中的元素,遍历过程中,访问该元素的左右节点,再将左右子节点加入到队列中来。 public void print(TreeNode node) { LinkedList<TreeNode&gt...

2019-08-14 21:04:09 134

原创 包含min函数的栈,栈的压入、弹出序列

题目描述定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。import java.util.Stack;public class Thirty { Stack<Integer> stack=new Stack<>(); Stack<Integer> tmp=new Stack<>(); int min=Integer...

2019-08-12 23:09:59 100

原创 京东Java笔试题

继承是JAVA语言的一个特性,针对类的继承,虚拟机会如何进行父类和子类的初始化加载呢?请阅读代码选择出该段代码的输入结果。public class Test { public static void main(String[] args) { System.out.print(B.c); }}class A { public static String...

2019-08-10 11:39:39 871

原创 二叉树的介绍以及二叉树的遍历

二叉树结构一直以来都是数据结构课程中的重点和难点。不论是找工作的笔试面试,还是考研的专业课,二叉树所占的比例都是很大的,而在原始的二叉树的基础上,有不断演化出了很多其他基于二叉树的结构,例如哈夫曼树、红黑树,还有线索二叉树、B+树等等首先来介绍一下树的基本概念树的定义树是一种数据结构,它是由n(n>=1)个有限结点组成一个具有层次关系的集合。树具有的特点有:(1)每个结点有零个或多...

2019-08-09 22:15:31 453

原创 图的最小生成树——普利姆算法

首先来介绍一下:图的最小树的概念树是一种没有回路和环路的图并且我们知道:只要我们对树结构进行遍历,就能够走遍树结构中的左右节点(比如二叉树的4种遍历方式)并且,通过一张图所能够得到树结构的方案是有很多种的那么在无向带权图中,我们为图中的每一条边都分配了权值如果我们在删除一些边,去掉图中回路和环路之后保留下来的树结构中,所有节点之间边权的加和是所有方案中最小的我们称这种树结构为无向图的最...

2019-08-09 15:23:25 944

原创 树的镜像,顺序打印二维数组

二叉树的镜像题目描述源二叉树8/ 6 10/ \ / 5 7 9 11镜像二叉树8/ 10 6/ \ / 11 9 7 5/** * 树的镜像 * @author 80769 * */public class TwentySeven { public void mirrot(TreeNode root) { if(root==nul...

2019-08-08 17:38:29 230

原创 Spring介绍

1.Spring基本概念Spring是一个开源框架,是2003年兴起的一个轻量级的JAVA开发框架,核心概念就是IOC控制反转和AOP面向切面编程。还提供了MVC层的开发,就是springMVC技术。Spring是一个轻量级的IoC和AOP容器框架。是为Java应用程序提供基础性服务的一套框架,目的是用于简化企业应用程序的开发,它使得开发者只需要关心业务需求。常见的配置方式有三种:基于XML的...

2019-08-08 09:31:13 100

原创 Java中的生产者和消费者模型

生产者消费者模型:生产者在将产品加入仓库中之后通知所有正在挂起的消费者消费产品消费者在消费产品,导致仓库为空之后,通知所有正在挂起的生产者继续生产线程间通信依赖的方法:wait():执行wait()方法的线程将进入挂起状态,挂起状态的线程会释放资源对象(仓库对象),不会自动唤醒notify():执行notify()方法的线程,将会从线程池当中随机唤醒一个处于挂起状态的线程,但是唤醒哪一...

2019-08-07 22:24:37 98

原创 Java中的单例模式的线程安全

Java单例模式下的线程安全首先我们来讲一下饿汉模式的线程安全/** * 饿汉模式下的单例 饿汉模式下是没有线程安全问题的 * * @author xhh * */public class Singleton2 { public static Singleton2 s = new Singleton2(); public static Singleton2 getSingle...

2019-08-07 10:10:28 534

原创 调整数组顺序使奇数位于偶数前面,两个递增链表的合并,树的子结构

题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。第一种/** * 第一种是使用动态数组vector实现的 */`` /** * 第一种是使用动态数组vector实现的 */ public void reorderArray(int[] arra...

2019-08-06 22:29:36 161

原创 线程,线程池,Java锁

在了解线程的时候,首先来看一下什么是并发和并行并行和并发有什么区别?并行:多个处理器或多核处理器同时处理多个任务。并发:多个任务在同一个 CPU 核上,按细分的时间片轮流(交替)执行,从逻辑上来看那些任务是同时执行。线程1.线程分为前台线程和后台线程。守护线程也叫后台线程,后台线程是依赖前台线程,如果前台线程都结束了,那么后台线程自动退出(JVM就退出),只要有一个前台线程活动,那么后...

2019-08-06 16:33:37 207

原创 二进制中1的个数,给定一个double类型的浮点数base和int类型的整数exponent

题目描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。解题思路如果一个整数不为0,那么这个整数至少有一位是1。如果我们把这个整数减1,那么原来处在整数最右边的1就会变为0,原来在1后面的所有的0都会变成1(如果最右边的1后面还有0的话)。其余所有位将不会受到影响。举个例子:一个二进制数1100,从右边数起第三位是处于最右边的一个1。减去1后,第三位变成0,它后面的两位0变...

2019-08-05 21:06:00 212

原创 旋转数组的最小数字,实现斐波那契数列(递归和递推两种方法),跳台阶,加强版跳台阶

题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。解题思路采用二分查找法。需要考虑三种情况:array[mid] > array[high]:出现这...

2019-08-04 19:50:24 149

原创 Hibernate并发和缓存

并发1. 并发问题案例:如果用户A查询到某商店的IPHONE剩余100台,然后A要买两个,同时,用户B也查询到库存100台IPHONE,B要买100个,这样就有可能产生并发问题。2. 悲观锁悲观锁是数据库的update锁机制[select * from emp for update],不是hibernate锁。悲观锁是在查询上上锁,可以保证A在查询数据的时候,B被阻塞,无法进行查询。2....

2019-08-04 16:58:54 217

原创 Hibernate生命周期

生命周期Hibernate有三种状态,可以互相发生转换。1.三种状态:瞬时对象(transientObjects)就是刚刚new出来的对象,数据库中没有记录,也没有被Hibernate的Session管理起来,这种对象是会被GC回收的。[数据库里没有,session里没有]持久对象(persistentObjects)经历了持久化操作的对象,数据库有记录,被Hibernate的Sessio...

2019-08-04 16:35:18 198

原创 Hibernate介绍以及配置

1. 基本概念Hibernate就是基于JAVA语言开发的,处于数据访问层的一套ORM开源框架,基本可以替代JDBC而存在,可以跨数据库平台,并且大大的减少了代码量。Hibernate的本质就是封装了JDBC和SQL(用HQL替换SQL,自动分析数据库平台,生成对应的SQL)。ORM就是把Object类型的数据映射到关系型数据库中,这样我们可以通过操作JAVA对象来达到操作数据库的目的。[...

2019-08-04 16:18:06 66

原创 struts2拦截核心

1. 拦截器struts2的核心就是拦截器,如param/modelDriven/validation等,都是拦截器的作用。拦截器是一个面向切面编程的思想,程序运行后,会先执行拦截器然后再执行Action里面的方法。文字描述:服务器启动,实例化StrutsPrepareAndExcuteFilter,读取所有配置文件。把struts.xml中的每一个Action实例化。接收请求(Ht...

2019-08-04 15:05:45 148

原创 struts2结果视图和动作类型

结果视图1. 结果视图概念action方法的返回值是String类型的,返回的是对应结果视图的名字,在动作类中,使用return关键字来表达,在对应的struts.xml文件中,使用标签来表达。2. 结果视图属性<result name="success" type="dispatcher">/jsp/success.jsp</result>标签名解释...

2019-08-04 14:46:29 249

原创 struts2的属性文件

1. 常用属性文件属性文件用途default.properties配置struts2参数,无法直接修改,但可以覆盖struts-default.xmlstruts-default.xmlstruts.xml需要开发人员编写的配置文件(配置action)struts-plugin.xml每一个插件包中都有这样一个插件信息文件struts.prop...

2019-08-04 14:28:43 118

原创 Struts2介绍以及配置

1. 基本概念struts2是一个非常优秀的MVC开源框架,由传统的struts1和webwork两个经典的框架合并而来,核心就是webwork,采用拦截器的机制来处理用户请求,它虽然是struts1的升级版,但是相对于struts1改动很大。1.1 核心特点… 允许POJO对象作为action;… 支持更多视图技术(JSP、freemarker等);… 与servlet解耦,完全脱离s...

2019-08-04 14:04:03 73

原创 Servlet过滤监听

1. 过滤器过滤器常作用于servlet,可以在servlet执行service()前后,进行一次过滤,过滤之后的操作内容自己定义,主要目的就是进行统一处理。过滤基础搭建新建MyFilter.java,并且实现Filter接口,实现里面的所有抽象方法 public class MyFiler implements Filter{ public void doFilte...

2019-08-04 10:50:47 114

原创 Servlet接调存转

我们通过一个实现登陆的小案例来演示新建项目首页index.html,并布局一个帐号密码表单内容<!--action的路径直接指向servlet的访问入口--><form action="/项目名/loginServlet" method="post"> <input name="loginname" type="text"/> <in...

2019-08-04 10:33:52 132

原创 Servlet介绍以及配置

1.servlet生命周期当有请求访问到Servlet的时候,Servlet的构造方法将会被执行,然后自动调用init()方法完成访问一系列操作,然后去调用service方法,service方法,service方法可以自动识别get或者post请求,然后进行对应的操作,当服务器关闭的时候,servlet会去调用distory方法完成销工作。2.servlet依赖的jar包(下面演示的是mave...

2019-08-04 10:09:23 215

原创 二叉树重健

题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。解题思路在二叉树的前序遍历中,第一个数字总是数的根结点的值,但在中序遍历中,根节点的值在序列的中间,左子树的节点的值位于根节点的转变,有右子树的值在根...

2019-08-03 23:34:42 105

原创 二维数组中查找,替换空格,倒序输出链表

1.题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数解题思路因为二维数组是左到右递增的顺序排序的,那么咱可以从数组的最右上角开始进行对比,比右上角的值大的向下查找,如果小的话进行左移,如果越界,则说明二维数组中不存在该整数。public cl...

2019-08-03 22:20:42 166

转载 JVM原理

1:什么是JVMJVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码(字节码)...

2019-08-03 08:57:43 152

原创 SQL优化

本文介绍的优化主要是以sql语句优化(ORACLE)01. 在经常查询的字段上建立索引02. 把大筛选量的where往后排Oracle采用自后而前的顺序解析where条件,根据这个原理,那些可以过滤掉最大数量记录的where条件尽量写在所有where条件的末尾。select * from emp where sal > 500 and ename in (‘SMITH’,‘WORD...

2019-08-02 21:58:30 317

原创 Mysql的函数

1. 时间函数oracle中的sysdate/add_months()/next_day()/trunc()/months_between方法,在mysql中均不支持,但都有对应的替换写法。dual是一张虚拟的表,这个表可以提供一些函数的基本测试。now()代表当前系统时间,select now() from dual可以查看当前系统时间,包括“年月日时分秒”(Mysql中的from dua...

2019-08-02 21:45:02 535

原创 MYSQL语句

1. DQL(数据查询语言DQL)数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE子句组成的查询块:SELECT <字段名表>FROM <表或视图名>WHERE <查询条件>Mysql的DQL语句与ORACLE大部分通用,同样支持基本查询、条件查询、模糊查询、子查询、排序、分组、连表等,使用方法可以和ORACLE相似,部分不同...

2019-08-02 21:30:00 438

原创 Mysql介绍和安装

1. 概念1.1 概念特性MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle 旗下产品。MySQL最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的...

2019-08-02 20:43:46 654

原创 JAVA 集合

接口继承关系和实现集合类存放于 Java.util 包中,主要有 3 种:set(集)、list(列表包含 Queue)和 map(映射)。Collection:Collection 是集合 List、Set、Queue 的最基本的接口。Iterator:迭代器,可以通过迭代器遍历集合中的数据Map:是映射表的基础接口下面分别来介绍这几种集合ListJava 的 List 是非常...

2019-08-01 17:25:01 203

原创 redis的架构模式

第一种:单机版特点:简单问题:1、内存容量有限 2、处理能力有限 3、无法高可用。主从复制Redis 的复制(replication)功能允许用户根据一个 Redis 服务器来创建任意多个该服务器的复制品,其中被复制的服务器为主服务器(master),而通过复制创建出来的服务器复制品则为从服务器(slave)。 只要主从服务器之间的网络连接正常,主从服务器两者会具有相同的数据,主服务器就...

2019-07-20 20:09:27 1794

空空如也

空空如也

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

TA关注的人

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