- 博客(92)
- 资源 (2)
- 收藏
- 关注
原创 leetcode刷题(844)——回退字符串比较
Given twostringsSandT,return if they are equal when both are typed into empty text editors.#means a backspace character.Example 1:Input: S = "ab#c", T = "ad#c"Output: trueExplanation: B...
2019-04-29 22:39:54
332
原创 leetcode刷题(232)——用栈实现队列
Implement the following operations of a queue using stacks.push(x) -- Push element x to the back of queue. pop() -- Removes the element from in front of queue. peek() -- Get the front element. e...
2019-04-29 17:34:13
269
原创 leetcode刷题(225)——用队列实现栈
Implement the following operations of a stack using queues.push(x) -- Push element x onto stack. pop() -- Removes the element on top of the stack. top() -- Get the top element. empty() -- Return...
2019-04-29 16:51:09
361
原创 leetcode刷题(20)——判断括号的有效性
Given a string containing just the characters'(',')','{','}','['and']', determine if the input string is valid.An input string is valid if:Open brackets must be closed by the same type of ...
2019-04-26 09:34:13
649
原创 leetcode刷题(142)——判断单链表是否有环,如果有环,输出环起始位置索引
Given a linked list, return the node where the cycle begins. If there is no cycle, returnnull.To represent a cycle in the given linked list, we use an integerposwhich represents the position (0-...
2019-04-25 11:26:14
517
原创 leetcode刷题(141)——判断单链表是否有环
Given a linked list, determine if it has a cycle in it.To represent a cycle in the given linked list, we use an integerposwhich represents the position (0-indexed)in the linked list where tail c...
2019-04-25 11:26:05
828
原创 leetcode刷题(25)——k个结点一组反转单链表
Given a linked list, reverse the nodes of a linked listkat a time and return its modified list.kis a positive integer and is less than or equal to the length of the linked list. If the number of...
2019-04-25 11:25:37
273
原创 leetcode刷题(24)——成对反转单链表
Given alinked list, swap every two adjacent nodes and return its head.You maynotmodify the values in the list's nodes, only nodes itself may be changed.Example:Given 1->2->3->4 ...
2019-04-22 11:33:03
331
原创 leetcode刷题(92)——指定范围反转单链表
Reverse a linked list from positionmton. Do it in one-pass.Note:1 ≤m≤n≤ length of list.Example:Input: 1->2->3->4->5->NULL, m = 2, n = 4Output: 1->4->3->2->5...
2019-04-17 11:05:16
303
原创 leetcode刷题(206)——反转单链表
Reverse a singly linked list.Example:Input: 1->2->3->4->5->NULLOutput: 5->4->3->2->1->NULLFollow up:A linked list can be reversed either iteratively or recurs...
2019-04-15 16:48:01
227
转载 在Intellij IDEA中使用Debug
目录一、Debug开篇二、基本用法&快捷键三、变量查看四、计算表达式五、智能步入六、断点条件设置七、多线程调试八、回退断点九、中断Debug十、附:JRebel激活Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化。通常我们也可以启用Debug模式来跟踪代...
2019-04-15 15:55:36
245
转载 IDEA如何搭建Maven——安装、下载、配置(图文)
原文地址https://www.cnblogs.com/xihehua/p/9639045.html1.下载maven 压缩包输入网址www.apache.org会看到以下界面住下划看到以下界面然后看到这个界面选择下载这个版本下载后解压 maven 压缩包(文件路径不建议用有中文的,最好自己新建一个那样方便好多)然后创...
2019-04-11 19:40:25
2639
原创 三层架构、MVC以及与SSM架构的对应关系
三层架构三层架构是指:视图层view,服务层service,持久层Dao,通常也叫(表示层UI,业务逻辑层BLL,数据访问层DAL)它们的功能是:1.view层: 用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面2.service层:实现业务的主要逻辑,是系统架构中体现核心价值的部分。3.Dao层:有时候也称为是持久层,其功能主要是负责数据库的访问。可以访问数据库、二进制文...
2019-04-10 21:01:27
15940
7
原创 JSP学习(二)——EL表达式和JSTL标签库
EL表达式提供了在 JSP 中简化表达式的方法,让Jsp的代码更加简化,尤其是在获取作用域和请求数据时比较简便。也会搭配JSTL进行使用语法结构: ${expression} 提供.和[ ]两种运算符来存取数据。注意不要写在<%%>中EL表达式有11个内置对象: pageScope 将页面范围的变量名称映射到其值。例如,EL 表达式可以使...
2019-04-10 21:01:00
180
原创 给自己立个flag:没事就读源代码
给自己立个flag:没事就读源代码阅读Java源码的前提条件:1、技术基础在阅读源码之前,我们要有一定程度的技术基础的支持。假如你从来都没有学过Java,也没有其它编程语言的基础,上来就啃《Core Java》,那样是很难有收获的,尤其是《深入Java虚拟机》这类书,或许别人觉得好,但是未必适合现在的你。比如设计模式,许多Java源码当中都会涉及到。再比如阅读Spri...
2019-04-10 16:08:33
250
原创 JSP学习(一)——概念、语法、九大内置对象和四大作用域
前面讲解了Servlet,了解了Servlet的继承结构,生命周期等有了一些比较详细的了解,但是我们会发现在Servlet中编写一些HTML代码,需要使用out.println(HTML)逐行打印,如果html代码十分繁多那么编写代码就会十分繁琐; 因此就出现了JSP,来解决这样的问题,JSP中的内容就是html,但是能够嵌套java语言,现在来详细了解一下JSP。什么是JSPJSP全名为...
2019-04-10 14:19:10
367
转载 IDEA中web项目在tomcat中的部署位置及修改
IDEA中在运行web项目时部署到tomcat的位置在idea中运行tomcat,把项目部署运行起来,然后我去tomcat目录下去看,找不到我部署的项目 那我的项目是怎么运行起来的?说明一下:这里是使用tomcat 部署成war exploded 而不是war包。war exploded模式是直接把文件夹、jsp页面 、classes等等移到Tomcat 部署文件夹里面,进行加载部署。因此...
2019-04-08 11:36:14
24973
2
转载 Servlet深入学习(三)——会话机制cookie和session
原文地址https://www.cnblogs.com/whgk/p/6422391.html会话机制Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。Cookie和Session之间的区别和联系理解:假如一个咖啡店有喝5杯咖啡免费赠一杯咖...
2019-04-07 16:42:57
220
原创 Servlet深入学习(二)——请求转发、重定向、乱码问题、Servelt流程总结
请求转发实现多个servlet联动操作请求,并且可以使servlet操作更加明确。request.getRequestDispatcher(String path).forward(request,response);注意:path:转发后跳转的页面,这里不管用不用"/"开头,都是以web项目根开始,因为这是请求转发,请求转发只局限与在同一个web项目下使用,所以这里一直都是从w...
2019-04-05 09:11:46
248
原创 Servlet深入学习(一)——生命周期、service方法、ServletConfig、ServletContext、request、response对象
Servlet生命周期服务器启动时(web.xml中配置load-on-startup=1,默认为0)或者第一次请求该servlet时,就会初始化一个Servlet对象,也就是会执行初始化方法init(ServletConfig conf),将其加载进内存并在内存中驻留,该servlet对象去处理所有客户端请求,在service(ServletRequest req,ServletRespon...
2019-04-02 10:18:04
469
原创 Servlet学习
Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术。 Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤: 1、编写一个Java类,实现servlet接口。 2、把开发好的Java类部署到web服务器中。 按照一种约定俗成的称呼习惯,通常...
2019-04-01 11:40:49
153
转载 IDEA新建javaWeb以及Servlet简单实现
转载,原文出处:https://www.cnblogs.com/printN/p/6537903.html1、新建一个Web项目两种方法:java 和Java Enterprise(推荐)第一种)通过Java工程创建,这个方法需要手动导入Tomcat的servlet包才能使用servlet导入包的方法是创建项目并配置好Tomcat后,File->Project Struct...
2019-04-01 08:10:29
168
转载 Java服务端单元测试指南(JUnit和TestNG)
Java服务端单元测试指南作者:墨源,阿里巴巴技术专家一. 前言单元测试并不只是为了验证你当前所写的代码是否存在问题,更为重要的是它可以很大程度的保障日后因业务变更、修复Bug或重构等引起的代码变更而导致(或新增)的风险。同时将单元测试提前到编写正式代码进行(测试驱动开发),可以很好的提高对代码结...
2019-03-30 10:55:08
1595
原创 17.java动态编程总结(反射、动态编译、脚本引擎、字节码操作)
概述什么是动态编程?动态编程解决什么问题?Java中如何使用?什么原理?如何改进?(需要我们一起探索,由于自己也是比较菜,一般深入不到这个程度)。什么是动态编程动态编程是相对于静态编程而言的,平时我们讨论比较多的就是静态编程语言,例如Java,与动态编程语言,例如JavaScript。那二者有什么明显的区别呢?简单的说就是在静态编程中,类型检查是在编译时完成的,而动态编程中类型检查是在...
2019-03-28 16:34:39
586
原创 16.java字节码操作(JAVAssist)
什么是java字节码操作Java动态性的两种常见实现方式 字节码操作 反射运行时操作字节码可以让我们实现如下功能:在JVM中动态生成新的类 在JVM中动态改变某个类的结构(添加/删除/修改新的属性/方法)优势:比反射开销小,性能高 JAVAasist性能高于反射,低于ASMJAVA中如何操作字节码常见的字节码操作类库BCEL 这是Apache...
2019-03-28 16:34:30
297
转载 实际项目中如何使用Git做分支管理
版权声明: https://blog.csdn.net/ShuSheng0007/article/details/80791849 </div> <div id="content_views" class="markdown_...
2019-03-28 10:26:32
416
原创 15.java脚本引擎
java脚本引擎脚本引擎使java应用程序通过一套固定的接口与各种脚本引擎交互,从而达到在java平台上调用各种脚本语言(js,python等)的目的 java脚本API是连通java平台和脚本语言的桥梁 可以把一些复杂异变的业务逻辑交给脚本语言处理,大大提高了开发效率java脚本API为开发者提供了如下功能1.获取脚本程序输入,通过脚本引擎运行脚本并返回结果,这是最核心的接口...
2019-03-27 15:12:44
550
原创 14.java动态编译
java动态编译动态编译应用场景:服务器动态加载某些类文件进行编译 浏览器端编写java代码,上传服务器编译和运行的在线系统动态编译的两种做法:JDK6之前:通过Runtime调用javac,启动新的进程去操作 Runtime run = Runtime.getRuntime(); Process process = run exec("javac -cp d:/my...
2019-03-27 15:11:33
161
原创 13.java反射机制
反射(reflection)可以在运行时加载、探知、使用编译期间完全未知的类程序在运行状态中,可以动态加载一个只有名称的类,对于任意一个已加载的类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;Class c = Class.forName("com.company.User");加载完类后,在堆内存中就产生了一个Class类型对象(一个类只有一个C...
2019-03-27 15:09:18
113
原创 0.操作系统概述
什么是操作系统用户角度:是一个控制软件 管理应用程序,为应用程序提供服务,杀死应用程序 资源分配角度:资源管理 管理外设,分配资源 (操作系统抽象:CPU-进程 内存-地址空间 磁盘-文件)操作系统位于硬件之上,应用程序之下 操作系统为应用软件提供服务支撑,完成对硬件的控制与分配OS分为Shell(界面)和Kernel(内核)操作系统的内部组...
2019-03-26 19:40:10
147
原创 5.Web页面请求过程
现在假设我在校园网内,通过有线接入校园网的一台交换机,开始我的冲浪之旅。下面我将描述自己在冲浪过程中的发现。其中,交换机连接了学校的对外的出口路由器。假设DHCP服务器运行在路由器中。网络拓扑如下:准备:DHCP、UDP、IP和以太网首先,为了上网,我必须告诉网络我是谁,只有网络知道我是谁,它才会允许我进入它的家门。所以,我的笔记本首先需要一个IP地址。1. 如果我设置了动态获取I...
2019-03-25 22:13:57
229
原创 4.3数据中心网络
等级体系结构下图为具有等级拓扑结构的数据中心网络:其中主机负责提供内容、存出邮件和文档并共同执行大规模分布式计算。主机堆叠在机架上,每个机架顶部有一台TOR(机架顶部)交换机,它们与机架上的主机互联,并与数据中心其他交换机互联。负载均衡器用来向主机分发请求,以主机当前的负载作为函数来在主机之间均衡负载。一个大型的网络数据中心通常会有几台负载均衡器,每台服务于一组特定的云应用。...
2019-03-25 17:37:31
282
原创 4.2交换局域网(ARP、以太网)
链路层寻址和ARPMAC地址链路层地址称为MAC地址,长度为6字节,共有2^48个可能的MAC地址(通常用十六进制)。每个适配器具有不同的MAC地址(由设备制造商定义/分配),而且与IP地址不同的是,无论该便携机位于什么位置,带有以太网接口的便携机总具有同样的MAC地址。地址解析协议ARP网络层以上的协议用IP地址来标识网络接口,但以太数据帧传输时,以物理地址来标识网络接口。因此我...
2019-03-25 16:55:33
433
原创 4.1多路访问链路和协议(信道划分协议、随机接入协议、轮流协议)
网络链路有两种类型:点对点链路和广播链路。点对点链路由链路一端的单个发送方和链路另一端的单个接收方组成,如点对点协议(PPP)和高级数据链路控制(HDLC)。广播链路能够让多个发送和接收结点都连接到相同的、单一的、共享的广播信道上。对于广播链路而言,因为所有结点都能传输帧,所以多个结点同时传输帧时,传输的帧在所有的接收方处发生碰撞,导致没有一个接收结点能够有效地获得任何传输的帧。解决这个问题则...
2019-03-25 09:15:47
6954
原创 4.0链路层概述及差错检测和纠正技术
链路层概述链路层提供的服务任一链路层的基本服务是将数据报通过单一通信链路从一个结点移动到相邻结点,但不同链路层协议能提供不同服务细节:成帧 几乎所有的链路层协议都要讲网络层数据报用链路层帧封装起来。 链路接入 媒体访问控制(MAC)协议规定了帧在链路上传输的规则。 可靠交付 保证无差错的经链路层移动每个网络层数据报。链路层的可靠交付服务时通过确认和重传取得的 差错检测和纠正...
2019-03-21 11:14:58
486
原创 3.2路由选择算法、因特网中的路由选择以及广播和多播路由选择
路由选择算法路由选择的工作是:确定从发送方到接收方通过路由器网络的好路径(等价为路由)路由选择算法的工作是:给定一组路由器以及连接路由器的链路,路由选择算法要找到一条从源路由器到目的路由器的“好”路径。通常一条好路径指具有最低费用的路径。(实际还要考虑现实世界中的策略之类的问题,如属于组织Y的路由器X不应转发任何来源于组织Z网络的分组之类的规则。)如下图为计算机网络的抽象模型,显然需要...
2019-03-21 09:24:29
3234
原创 3.1路由器工作原理及网际协议(因特网中的转发和编址IPv4、IPv6)
路由器工作原理下图为路由器的体系结构,其中标识了一台路由器的4个组成部分:输入端口、输出端口、交换结构、路由选择器输入端口:(1)将一条输入的物理链路与路由器相连接的物理层功能(2)与位于入链路远端的数据链路层交互的数据链路层功能(3)完成查找功能(通过查询转发表决定路由器的输出端口)(4)控制分组从输入端口转发到路由选择处理器。交换结构:将路由器的输入端口和输出端口相连接。...
2019-03-20 10:32:23
842
原创 3.0网络层概述
概述基本概念网络层的作用是将分组从一台发送主机移动到另一台接收主机。为此,需要两种重要的网络层功能:转发: 当一个分组到达路由器的一条输入链路时,路由器必须将该分组移动到适当的输出链路。路由选择:当分组从发送方流向接收方时,网络层必须决定这些分组所采用的路由或路径。计算这些路径的算法为路由选择算法。某些网络层体系结构中如ATM、帧中继等还有第三种重要的网络功能连接建立。要求从...
2019-03-18 21:56:45
285
原创 2.4拥塞机制原理及TCP拥塞控制机制
拥塞代价1.当分组的到达速率接近链路容量时,分组经历巨大的排队时延。 2.发送方必须执行重传以补偿因为缓存溢出而丢弃的分组。 3.发送方在遇到大时延时所进行的不必要重传会引起路由器利用其链路带宽来转发不必要的分组父本。 4.当一个分组沿一条路径被丢弃时,每个上游路由器用于转发该分组到丢弃该分组而使用的传输容量最终被浪费掉了拥塞控制方法根据网络层是否为运输层拥塞控制提供了显式帮助,将...
2019-03-18 15:35:55
1298
1
原创 2.3面向连接的传输——TCP协议
TCP概述TCP是面向连接的,因为进行数据传输前需要进行“三次握手”TCP连接提供的是全双工服务, 即应用层数据可以从进程B流向进程A,也可以从进程A流向进程BTCP连接是点对点的,即咋单个发送方与单个接收方之间的连接。一个简单的TCP流程如下图所示:可以看出,TCP连接的组成包括:一台主机上的缓存、变量和与进程连接的套接字,以及另一台主机上的另一组缓存、变量和与进程连接的...
2019-03-16 15:29:44
1070
正则表达式工具regexbuddy
2018-12-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人