- 博客(64)
- 收藏
- 关注
转载 配适器模式
二、适配器模式 举个简单的例子,当我们给手机充电时,由于手机充电口是5V,而插座提供的是220V交流电,因此我们通常需要使用充电器将220V交流电转换成可供手机充电用的5V直流电,这个充电器就是一个适配器。 同样,在编写JAVA程序时,我们可能会遇到这样一种情况:我们需要一个类A来实现接口B,但是类A并没有实现接口B中的所有方法,而类A是不能被改变的,这时我们可以创建一个类C,它继承类A并...
2018-03-22 15:23:51
269
转载 消息队列使用的四种场景介绍
消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题实现高性能,高可用,可伸缩和最终一致性架构使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ二、消息队列应用场景以下介绍消息队列在实际应用中常用的使用场景。异步处理,应用解耦,流量削锋和消息通讯四个场景2.1异步处理场景说明:用户注册后,需要发注册邮件和注...
2018-03-19 14:14:35
181
转载 深入理解HashMap(精华必看)
原文地址:http://www.iteye.com/topic/539465 Hashmap是一种非常常用的、应用广泛的数据类型,最近研究到相关的内容,就正好复习一下。网上关于hashmap的文章很多,但到底是自己学习的总结,就发出来跟大家一起分享,一起讨论。 1、hashmap的数据结构 要知道hashmap是什么,首先要搞清楚它的数据结构,在java编程语言中,最基本的结构就是两种,一...
2018-03-11 22:04:57
221
原创 操作系统 内存管理 知识点
目录:地址的动静态重定位内存分配算法程序的链接和装入(静态和动态)逻辑地址和物理地址虚拟内存,实际内存,内部外部碎片地址的重定位:程序执行时,必须将地址空间变为绝对地址才能访问系统分配的内存地址重定位:操作系统把用户程序指令中的相对地址变换成为所在存储中的绝对地址的过程地址重定位实现了:从逻辑地址到物理地址的转换按照重定位时机分类:静态重定位、动态重定位地址的静态重定位定义:在程序运行之前,为用户...
2018-02-27 23:50:40
3431
原创 Servlet和JSP的生命周期
Servlet的生命周期:调用构造方法实例化(两种情况会调用 :请求到达容器时,如果Servlet不存在;启动tomcat时,web.xml里配置了load-on-startup)调用init()方法初始化,整个Servlet生命周期init()只会被调用一次。Servlet初始化后,就可以处理客户请求了,容器收到对Servlet的请求后,调用Servlet的service()方法,当并行请求来到...
2018-02-27 19:54:13
690
原创 Java项目,jar,war,ear包的区别
英文Java Archive fileWeb Archive fileEnterprise Archive file包含内容class、properties文件,是文件封装的最小单元;包含Java类的普通库、资源(resources)、辅助文件(auxiliary files)等Servlet、JSP页面、JSP标记库、JAR库文件、HTML/XML文档和其他公用资源文件,如图片、音频文件等...
2018-02-26 23:14:31
237
原创 计算机网络 知识点
ARP是地址解析协议,简单语言解释一下工作原理。参考答案答:1:首先,每个主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示IP地址和MAC地址之间的对应关系。2:当源主机要发送数据时,首先检查ARP列表中是否有对应IP地址的目的主机的MAC地址,如果有,则直接发送数据,如果没有,就向本网段的所有主机发送ARP数据包,该数据包包括的内容有:源主机 IP地址,源主机MAC地址,目的主机的IP ...
2018-02-25 21:00:30
593
原创 互斥与死锁
死锁定义 :在一个进程集合中,所有的进程都在等待只能由该进程集合中的其它进程才能引发的事件,这就是死锁解释 :由于进程集合中的所有进程都在等待集合中的其它进程引发唤醒该进程的事件,所以所有进程都会阻塞而无法向前推进。一般大多数的等待事件都是释放进程集合中其它进程所占有的资源,也叫资源死锁。资源死锁的四大必须条件 :1>互斥条件:即某个资源在一段时间内只能由一个进程占有,不能同时被两个或以上的...
2018-02-25 19:31:35
1089
原创 操作系统 进程与线程
进程的运行状态A. 就绪态到执行态B. 执行态到就绪态C. 执行态到阻塞态D. 阻塞态到就绪态 创建进程步骤:1,申请空白PCB(进程控制块);2,为新进程分派资源;3,初始化PCB;4,将新进程插入就绪队列;进程的状态进程运行时具有三个状态:运行态,就绪态,等待态(阻塞态)A:一次I/O操作结束,等待态->就绪态B:运行进程需要I/O操作,运行态->等待态C:运行进程结束,直接转入...
2018-02-25 18:34:35
409
转载 永久带和元数据区
G1垃圾收集器,永久带和元数据区我们收到了一些围绕G1垃圾收集器和使用永久带的一些问题。当G1作为垃圾收集器的时候,hotspot JVM并没有使用永久带,这看上起可能有点迷惑。下面是一些澄清:JDK7:永久带JDK7和它的更新中仍然存在永久带,所有的垃圾收集器都在使用。在JDK7里面,开始进行去掉永久带的努力,永久带中的一些数据已经被转移到java堆或者是native堆中了。但是,永久带并没有完...
2018-02-24 18:17:43
1514
原创 图解HTTP笔记.1
TCP/IP 协议族:计算机和网络科要相互通信,就要基于相同的规则(protocol)。TCP/IP是所有协议族的总称TCP/IP分层:应用层,传输层,网络层,数据链路层流程图:在TCP/IP协议族 中 与HTTP密切相关的协议:IP,TCP 和 DNS负责传输的IP协议(不是IP地址,位于网络层) IP协议保证把数据包要传到对方那里,IP地址和MAC地址是两个重要条件。ARP协议,在通过路由器中...
2018-02-23 19:06:04
167
转载 数据库三大范式
◆ 第一范式(1NF):强调的是列的原子性,即列不能够再分成其他几列。 考虑这样一个表:【联系人】(姓名,性别,电话) 如果在实际场景中,一个联系人有家庭电话和公司电话,那么这种表结构设计就没有达到 1NF。要符合 1NF 我们只需把列(电话)拆分,即:【联系人】(姓名,性别,家庭电话,公司电话)。1NF 很好辨别,但是 2NF 和 3NF 就容易搞混淆。◆ 第二范式(2NF):首先是 1NF,另...
2018-02-23 18:25:18
198
原创 深入理解JVM虚拟机 第七章笔记 虚拟机类加载机制
与那些在编译时需要进行连接工作的语言不同,在Java语言里面,类型的加载、连接和初始化过程都是在程序运行期间完成的,这种策略虽然会令类加载时稍微增加一些性能开销,但是会为Java应用程序提供高度的灵活性,Java里天生可以动态扩展的语言特性就是依赖运行期动态加载和动态连接这个特点实现的。7.2 类加载的时机类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、(验证、准备、解...
2018-02-23 17:02:21
160
原创 深入理解JVM虚拟机 第三章笔记 垃圾收集器和内存分配策略
哪些内存需要回收GC主要需要回收的是java 堆 和 方法区的内存。什么时候回收?(对象是否存活(是否被引用))引用计数器法:算法是这样的:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的。但是主流并未使用,因为它很难解决对象之间的相互循环引用。可达性分析算法:通过一系列的称为“GC Roots”的对象作...
2018-02-23 16:28:52
216
原创 深入理解JVM虚拟机 第二章笔记 Java内存区域与内存溢出异常
Sun官方所定义的Java技术体系包括以下几个组成部分:Java程序设计语言各种硬件平台上的Java虚拟机Class文件格式Java API类库来自商业机构和开源社区的第三方Java类库我们可以把Java程序设计语言、Java虚拟机、Java API类库这三部分统称为JDK,JDK是用于支持Java程序开发的最小环境。Java API类库中的JavaSE API子集 和Java虚拟机这两部分...
2018-02-23 15:24:15
180
原创 Servlet知识点笔记
容器Tomcat的作用:1,通信支持,无需自己建立serverSocket,监听端口等2,管理servlet的生命周期3,为servlet请求创建新的线程4,翻译JSP代码为java容器处理请求:1,容器发现是个servlet请求,创建HttpServletResponse 和 HttpServletRequest2,为servlet创建一个线程,把 请求,响应对象传给他3,容器调用servlet...
2018-02-23 14:15:30
170
转载 git的基本使用命令
内容来自廖雪峰大大的个人网站,个人笔记排版稍有不同https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000版本回退:HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。穿梭前,用git log可以查看提交历...
2018-02-22 17:39:18
135
原创 算法与数据结构概览
1. 链式储存结构,是带有数据和指针的数据结构,指针指向下一个元素的内存地址。分为单链表和双链表,如图所示:链式储存结构的增加和删除效率都比较高,每一个位置包括数据和指向另一个数据的指针,在插入删除的时候,只要找到前一个数据,修改指针地址就可以了。2. 接下来是顺序储存结构,顺序储存结构是使得逻辑上相邻的两个元素在物理位置上也相邻。特点:ArrayList 增删效率很低,因为如果连续的位置被占用,...
2018-02-22 17:11:19
159
原创 项目中遇到的中文乱码问题
中文问题,统一交由web.xml 中定义的org.springframework.web.filter.CharacterEncodingFilter来进行处理其他的配合动作1. 在jsp中要加上<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8" import="java.ut...
2018-02-22 16:36:38
170
原创 LeetCode 88 Merge Sorted Array
原题:Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.Note:You may assume that nums1 has enough space (size that is greater or equal to m + n) to
2018-01-15 18:03:16
111
原创 LeetCode 86 Partition List
原题:Given a linked list and a value x, partition it such that all nodes less than x come before nodes greater than or equal to x.You should preserve the original relative order of the nodes in
2018-01-15 17:42:32
111
原创 LeetCode 66 Plus One
原题:Given a non-negative integer represented as a non-empty array of digits, plus one to the integer.You may assume the integer do not contain any leading zero, except the number 0 itself.T
2018-01-15 14:15:50
120
原创 LeetCode 70. Climbing Stairs
原题:You are climbing a stair case. It takes n steps to reach to the top.Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?Note: Given n wil
2018-01-14 17:34:20
116
原创 高性能MySQL第一章笔记
1.MYSQL服务器逻辑架构图每个客户端连接都会在服务器中拥有一个线程。2.并发控制(1)处理并发读写时,可以通过实现由两种类型的锁组合的锁系统来完成,一般称为共享锁和排它锁,也被称为读锁和写锁。读锁是共享的,不影响其他人的读或写,写锁则会阻塞其它的读锁或写锁。锁粒度:最理想的方式是只锁定需要修改的部分数据。锁策略:大量锁会造成系统开销,在开销和安全之间寻找平衡,就是所谓锁策略。每种MYSQL引擎...
2018-01-12 20:27:47
321
原创 LeetCode 7&9 Reverse Integer & Palindrome Number
这两题都很简单,就是反转数字,基本代码是一样的,只是回文最后需要判断一下,直接上代码第七题class Solution { public int reverse(int x) { long res = 0; while(x != 0){ res = res*10 + x%10; x = x/10;
2018-01-10 01:30:20
118
原创 LeetCode 2 Add Two Numbers
原题:You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and
2018-01-10 01:09:09
114
原创 LeetCode 93 Restore IP Addresses
原题:(频率4)Given a string containing only digits, restore it by returning all possible valid IP address combinations.For example:Given "25525511135",return ["255.255.11.135", "255.2
2017-10-23 14:18:54
122
原创 LeetCode 91 Decode Ways
原题:(频率3)A message containing letters from A-Z is being encoded to numbers using the following mapping:'A' -> 1'B' -> 2...'Z' -> 26Given an encoded message containing digits, deter
2017-10-23 14:01:03
112
原创 LeetCode 49 Group Anagrams
原题:(频率4)Given an array of strings, group anagrams together.For example, given: ["eat", "tea", "tan", "ate", "nat", "bat"], Return:
2017-10-23 13:42:55
117
原创 LeetCode 43 Multiply Strings
原题:(频率3)Given two non-negative integers num1 and num2 represented as strings, return the product of num1 and num2.Note:The length
2017-10-23 13:38:33
118
原创 LeetCode 22 Generate Parentheses
原题:(频率4)Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.For example, given n = 3,
2017-10-23 13:19:19
119
原创 LeetCode 17 Letter Combinations of a Phone Number
原题:(频率3)Given a digit string, return all possible letter combinations that the number could represent.A mapping of digit to letters (just li
2017-10-19 16:06:51
142
原创 LeetCode 12 Integer to Roman
原题:(频率4)Given an integer, convert it to a roman numeral.Input is guaranteed to be within the range from 1 to 3999.题意:把Inte
2017-10-19 15:53:31
124
原创 LeetCode 8 String to Integer (atoi)
原题:(频率5)Implement atoi to convert a string to an integer.Hint: Carefully consider all possible input cases. If you want a challenge, please do
2017-10-19 15:38:37
147
原创 LeetCode 5 Longest Palindromic Substring
原题:(频率2)Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.Example:
2017-10-19 15:19:30
117
原创 LeetCode 3 Longest Substring Without Repeating Characters
原题:(频率2)Given a string, find the length of the longest substring without repeating characters.Examples:Given "abcabcbb", the answer is "
2017-10-19 14:52:55
127
原创 LeetCode 125 Valid Palindrome
原题:(频率5)Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.For example,"A man, a
2017-10-19 14:39:24
132
原创 LeetCode 58 Length of Last Word
原题:(频率1)Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the length of last word in the string.
2017-10-19 14:34:21
99
原创 LeetCode 38 Count and Say
原题:(频率2)Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order.For example,Given n = 3,You shoul
2017-10-19 14:28:42
119
原创 LeetCode 28 Implement strStr()
Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order.For example,Given n = 3,You shoul
2017-10-19 14:19:39
131
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人