- 博客(85)
- 资源 (1)
- 收藏
- 关注

原创 struts2的设计模式
传统的基于servlet的开发模式。servlet对象是否线程安全?web容器默认采用单servlet实例多线程的方式处理http请求。所有servlet不是线程安全的。ThreadLocal模式在两个方向完成数据隔离:纵向:线程与线程之间的数据访问隔离。横向:同一个线程中,不同的ThreadLocal实例操作的对象之间相互隔离...
2020-03-23 18:22:48
247

原创 红黑树Java
初学者。如果有误请指正,欢迎联系QQ2684162190package test;public class BTtree {//左旋,右孩子不能为空,因为右孩子要成为cur的父节点public void leftRotate(Root T, Node cur){Node right = cur.right;cur.right = right.left;if(right.left!=T...
2020-03-04 15:35:06
85

原创 深入理解Java虚拟机(第二版)
深入理解Java虚拟机阅读笔记第一章1.2java技术体系新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入第一...
2019-04-24 19:41:26
3023
原创 windows鼠标驱动出bug
问题:每次开机,之前禁用的触摸板都会重启启动解决方案:方案1、重新装驱动方案2、如果重新装驱动之后仍未解决,可卸载驱动,在win10商店中安装 synaptics touched control panel方案3、检查电脑更新,如果你卸载了驱动,更新时win10会重新装上驱动...
2020-05-07 07:54:19
387
原创 删除新建按钮中多余或者不用的功能
原文连接亲测删除有效:删除:1、windows+R,输入regedit,点击确定。2、找到HKEY_CLASSES_ROOT,打开它3、找到和你要删除的新建文件类型,比如.docx文件,在打开这个文件。4、删除子目录ShellNew....
2020-04-28 19:24:57
286
原创 一个完整的编译器前端
文法首先程序由一个块组成,块中包含可选声明和语句。programs -> blockblock -> { decls stmts}decls -> decls decl | εdecls -> type id;//声明包括类型,id以及分号type -> type [ num] | basic //可以识别数组和基础类型的stmts -> stm...
2020-04-03 11:04:50
843
原创 2.5简单表达式翻译器的实现Java
简单的语法制导翻译第一步 文法写出相应的非终结符匹配算法二级目录三级目录第一步 文法写出相应的非终结符匹配算法二级目录三级目录
2020-04-02 17:39:29
586
原创 编译原理第二章
文法定义上下文无关文法上下文无关文法该文法由四个元素组成。1、一个终结符号集合,(有时也称为词法单元)2、一个非终结符合集合,(有时称为语法变量)3、产生式集合,其中包含一个称为产生式头或左部的非终结符号,一个箭头,和一个称为产生式体或右部的有终结符号和非终结符号组成的序列。4、指定一个非终结符合为开始符号词法单元词法单元由两个部分组成:名字和属性参数列表文法:call -&g...
2020-04-02 16:21:42
1012
原创 Xwork元素详解
ValueStack是ActionContext的一个组成部分。ActionContext是XWork的数据流实现元素。作为一个数据载体,它既负责数据存储,有负责数据共享。interceptor与Action的关系:一个interceptor包裹着另一个interceptor,一层嵌套着一层,最后在包裹着Action,是一个栈结构。有以下的特点:整个栈结构除了位于栈底的Action以外,栈...
2020-03-30 10:14:10
174
原创 438. 找到字符串中所有字母异位词
给定一个字符串s和一个非空字符串p,找到s中所有是p的字母异位词的子串,返回这些子串的起始索引。字符串只包含小写英文字母,并且字符串s和p的长度都不超过 20100。滑动窗口的一个例子,值得思考借鉴,源码来自LeetCode评论区。。。class Solution { public List<Integer> findAnagrams(...
2020-03-30 09:56:58
174
原创 1562. 餐厅的数量
这题目很坑爹,这题目的描述就是一个巨坑。一个卧槽已经不能形容我的心情了,mmp。和谐500字。。。。。先对餐厅距离排升序,找到第n个离人最近的餐厅,把这个距离设为x,然后在从list中依此找距离小于x的餐厅。给出一个List,里面的数据代表每一个餐厅的坐标[x, y]。顾客的坐标处于原点[0, 0]。先找出n家离顾客位置最近的餐厅,然后取n家先出现在List中且与顾客的距离...
2020-03-30 09:56:38
182
原创 1639。具有K个不同字符的子串
求一个空间占用更少的算法!!!!!!!!!!!!!!如果有评论里给个连接。。。哈哈哈给定字符串S和整数K.计算长度为K且包含K个不同字符的子串数样例String: "abcabc"K: 3Answer: 3substrings: ["abc", "bca", "cab"]String: "abacab"K: 3Answer: 2substrings: [".
2020-03-30 09:56:07
498
原创 XWork设计原理
3种请求响应模式:参数返回值模式、参数参数模式、pojo模式XWork的数据流体系是指XWork在进行请求响应时所依赖的一个数据环境而这个数据环境中又包含了两大元素:ActionContext和ValueStack。ActionContext是一个独立的数据结构,其主要作用是为XWork的执行提供数据环境ValueStack本身是一个数据结构,其主要作用是对OGNL进行扩展。控制流的元...
2020-03-29 16:59:57
302
原创 struts表达式引擎OGNL
表达式引擎作用表达式引擎在web开发中能够完成规则化字符串表达式与Java对象之间的互相转化,也就是作为各个模块直接数据沟通的桥梁。Ognl的最具代表性的两个方法,ognl中还有许多其他方法来实现相同功能ognl每次操作都是围绕它的三个参数而进行的,这三个参数被称为ognl三要素。表达式表达式时ognl的核心,所有ognl的操作都是针对表达式解析后进行的。表达式其实是一个带有语法含义的...
2020-03-26 12:10:44
180
原创 Objectfactory工具类
private Container container; private ActionFactory actionFactory; private ResultFactory resultFactory; private InterceptorFactory interceptorFactory; private ValidatorFactory validato...
2020-03-25 18:19:01
146
原创 stuts2 技术内幕 2、3章
分层开发模式:表现层:负责处理与界面交互相关的功能业务层:负责复杂的业务逻辑计算和判断持久层:负责将业务逻辑数据库进行持久化储存MVC模式:M(model):数据模型V(view):视图展现C(control):控制器1、web容器如何接收指定请求并指定相应的类去执行业务逻辑建立一套有http协议中的URL表达式到类的对象的匹配规则2、数据是如何在浏览器与Java中转换?htt...
2020-03-23 14:14:06
152
原创 redis杂记
介绍下redis的事务redis的事务可以分为三步1、任务开始2、命令入队3、事务执行使用命令multi开启事务。如果客户端发送exec、discard、watch、multi四个命令其中一个,服务器立即执行。如果是其他命令就会放入事务队列。watch命令是一个乐观锁,可以监视任意数量的数据库键,并且在exec命令执行时,被监视的键有过修改,服务器将拒绝执行事务。返回空回复。慢查...
2020-03-21 20:20:20
123
原创 redis集群面试题
1、介绍下redis集群redis集群分为3中模式。主从复制,sentinel模式,cluster模式。主从复制没有解决主服务器宕机的问题及主服务器压力过大的问题,sentinel模式没有解决主服务器压力过大的问题,cluster不存在这两种问题。2、主从复制是如何实现数据一致性的?通过复制功能实现一致性。复制分为同步和命令传播。同步:1、从服务器发送同步命令2、主服务器在后台生成rd...
2020-03-21 16:15:21
2031
原创 单机数据库 redis面试题
注:redis服务器默认会创建16个数据库1、redis怎么实现数据库的切换的?改变redsiclient.db指针的指向。默认指向0号数据库2、redis是如何保存键值对的?redis数据库的dict字典保存了数据库的所有键值,这个字典被称为键空间,每一个键的是字符串对象,值可以说字符串,列表,集合,有序集合,hash对象。添加新键就是添加到dict里面3、redis怎么实现过期策略的...
2020-03-20 21:46:20
150
原创 redis 数据结构与对象 面试题
1、redis有哪几种类型对象string(字符串)list(列表)hash(哈希)set(集合)zset(有序集合)2、redis对象的底层结构unsigned type对象类型,unsigned encoding 编码方式,void* ptr指向底层数据结构的指针3、对象的底层结构有哪些long类型的整数、embstr编码的简单动态字符串、简单动态字符串(raw)、字典、双端队列、压...
2020-03-20 20:31:30
168
原创 数组中的逆序对
题目描述在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007输入描述:题目保证输入的数组中没有的相同的数字数据范围:对于%50的数据,size<=10^4对于%75的数据,size<=10^5对于%100的数据,size...
2020-03-12 16:04:42
115
原创 第一个只出现一次的字符
在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).import java.util.ArrayList;import java.util.List;public class Solution { public int FirstNotRepeatingChar(String...
2020-03-12 13:53:56
74
原创 丑数
把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。import java.util.*;public class Solution{ public int GetUglyNumber_Solution(int index) { i...
2020-03-12 13:36:08
117
原创 把数组排成最小的数
输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;public class Solution {...
2020-03-12 13:00:41
85
原创 整数中1出现的次数(从1到n整数中1出现的次数)
求出113的整数中1出现的次数,并算出1001300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。public class Solution { public int Numbe...
2020-03-12 12:51:49
101
原创 连续子数组的最大和
HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续子序列的和,你会...
2020-03-12 12:03:56
93
原创 数组中出现次数超过一半的数字——Java
数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。import java.util.*;public class Solution { //出现次数超过一半,故而能够在循环中抵消其他数字出现的次数,使得最后记录的是出现次数超过一...
2020-03-07 15:16:27
123
原创 字符串的排列_java
输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。import java.util.*;public class Solution { public ArrayList<String&g...
2020-03-07 14:44:59
114
原创 二叉搜索树与双向链表——java
输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this....
2020-03-07 14:40:02
100
原创 复杂链表的复制——Java
输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)/*public class RandomListNode { int label; RandomListNode next = null; RandomLi...
2020-03-07 14:26:17
115
原创 二叉树中和为某一值的路径_java
输入一颗二叉树的根节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前)import java.util.ArrayList;/**public class TreeNode { int val = 0; TreeNode left = null;...
2020-03-07 13:56:00
91
原创 二叉搜索树的后序遍历序列——java
输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。public class Solution { public boolean VerifySquenceOfBST(int [] sequence) { if(sequence.length==0){ retur...
2020-03-07 13:44:15
134
原创 栈的压入、弹出序列_java
输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)import java.util.ArrayList;import java.util.Sta...
2020-03-06 15:33:50
106
原创 包含min函数的栈_java
题目描述定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。注意:保证测试中不会当栈为空的时候,对栈调用pop()或者min()或者top()方法。import java.util.Stack;public class Solution { private Stack<Integer> data_stack=new S...
2020-03-06 15:17:13
119
原创 17、二叉树的镜像_java
题目描述操作给定的二叉树,将其变换为源二叉树的镜像。输入描述:二叉树的镜像定义:源二叉树8/ 6 10/ \ / 5 7 9 11镜像二叉树8/ 10 6/ \ / 11 9 7 5public class Solution { public void Mirror(TreeNode root) { /* ...
2020-03-06 14:25:20
90
原创 17、树的子结构_java
转载自输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = v...
2020-03-06 14:14:59
80
原创 14、链表中倒数第k个结点_java
输入一个链表,输出该链表中倒数第k个结点。(前后双指针,指针之间相距为K)public class Solution { public ListNode FindKthToTail(ListNode head,int k) { //5,{1,2,3,4,5} ListNode p, q; p = q = head; int i = ...
2020-03-05 17:25:21
95
原创 数值的整数次方(快速幂,指数为单相乘到res上,指数为双,降幂,底数平方)_java
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。保证base和exponent不同时为0public class Solution { public double Power(double base, int n) { double res = 1,curr = base; int exponent; ...
2020-03-05 17:24:44
122
原创 11、二进制中1的个数_java
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。public class Solution { public int NumberOf1(int n) { int count = 0; //每次循环划去末尾一个1。 // 1101&1100=1100 //1111&1110=1110 ...
2020-03-05 17:23:56
114
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人