- 博客(114)
- 资源 (3)
- 收藏
- 关注
原创 IDEA远程调试
jvm参数添加 -agentlib:jdwp=transport=dt_socket,server-y,suspend=n,address=5005。
2023-08-12 17:12:27
334
原创 typescript学习笔记
实习一个月了,由于公司是做管理系统的,暂不涉及高并发、分布式之类的后台问题,好吧,主要是增删改查,前后台都得写,主要是要学习前端框架,之前完全没涉及过。目前angular还在进行中,可供学习和参考的资料很少,除了官网比较详细,其他的基本也是参看的官网的例子,我按照我的学习,还是整几篇博客,不想涉及概念之类的东西,发现自己写了一百多篇文章,那种通篇大论的自己都懒得去翻看。学习types...
2019-05-28 23:41:29
1220
1
原创 maven中package、install、deploy命令的区别
maven生命周期(lifecycle)由各个阶段组成,每个阶段由maven的插件plugin来执行完成。生命周期(lifecycle)主要包括clean、resources、complie、install、pacakge、testResources、testCompile、deploy等,其中带test开头的都是用业编译测试代码或运行单元测试用例的。 仔细查看上面的输出结果截图,可以发现,...
2019-05-08 18:51:21
1265
1
原创 (四)微服务与SpringBoot、SpringCloud
目录SpringBoot与微服务SpringCloud与微服务SpringCloud核心组件Netflix Eureka——服务发现Netflix Ribbon —— 客户端负载均衡Netflix Hystrix —— 断路器Netflix Zuul —— 服务网管Spring Cloud Config —— 分布式配置1.SpringBoot与微服务...
2019-04-16 19:40:08
1198
原创 (三)四种流行的RPC框架(Dubbo/Motan/Thrift/Grpc)
目录●Dubbo●Motan● Thrift● Grpc上述四种流行RPC框架的对比●Dubbo 本来阿里2014年就不在维护Dubbo了,直到2017年9月份又恢复了维护,可能一来是用户量很多,哪怕是在不维护的情况下还是有很多的用户,二来是微服务比较火,比较看好微服务的方向。以下是Dubbo的架构模型(实线表示同步调用,虚线表示异步调用): ...
2019-04-14 23:04:28
12303
原创 (二)微服务带来的问题及解决方案
目录1、微服务间如何通讯?1.1、从通讯模式角度考虑1.2、从通讯协议角度考虑2、微服务如何发现彼此?2.1、服务发现本质2.2、传统服务的服务发现:2.3、客户端发现2.4、服务端发现3、微服务如何部署?更新?扩容?3.1、一个新服务部署的流程3.2、更新3.3.、扩容1、微服务间如何通讯?问题描述: 在什...
2019-04-14 23:00:23
2510
原创 (一)初步认识微服务
目录微服务的特征微服务诞生背景单体架构和微服务架构微服务的优势和不足微服务的特征▶单一职责:只把紧密相关的服务放在一起,无关的业务独立出去;▶轻量级的通信:微服务与微服务之间的通信应该使用轻量级的通信,做到平台无关和语言无关;▶隔离性:每个微服务运行在自己的进程中,不会相互干扰;▶有自己的数据:业务数据的独立性,每个微服务都有自己的独立的数据存储系统,以降低数据...
2019-04-14 17:40:43
425
原创 Java中的NIO、BIO、AIO
BIO:同步阻塞 就是我们常说的I/O,InputStream/OutputStream、Writer/Reader。标准I/O是基于字节流和字符流进行操作。 一个连接对应一个线程。当有客户端连接请求时,服务端需要启动一个线程处理,如果这个连接不做任何处理,会造成不必要的线程开销,可以通过线程池机制改善,从而实现异步I/O。NIO:同步非阻塞 JDK1.4添加的特...
2019-04-09 20:38:31
242
原创 Java高并发编程 (马士兵老师视频)笔记(二)并发容器
本篇主要总结了:线程安全的单例模式和并发容器。其中并发容器包含:ConcurrentHashMap、ConcurrentSkipListMap、CopyOnWriteArrayList和队列相关的内部加锁的并发队列ConcurrentLinkedQueue 以及阻塞队列BlockingQueue (LinkedBlockingQueue、ArrayBlockingQueue 、DelayQu...
2019-03-27 17:25:34
2882
7
原创 Java高并发编程 (马士兵老师视频)笔记(一)同步器
本篇主要总结同步器的相关例子:包括synchronized、volatile、原子变量类(AtomicXxx)、CountDownLatch、ReentrantLock和ThreadLocal。还涉及到wait和notify/notifyAll。回忆关于线程的几个基本知识点:◆ 线程的概念(程序中不同的执行路径可以放到不同的CPU中同步运行);◆ 如何启动一个线程(继承Thread类 ...
2019-03-24 23:20:21
2308
原创 Servlet常见面试题
目录Servlet的概念,JSP与Servlet的区别Servlet的生命周期Servlet中的session的工作原理,以及设置过期时间的方式Servlet中的filter的应用场景JSP的动态include和静态includeweb.xml的作用Servlet的线程安全问题Servlet的概念,JSP与Servlet的区别 servlet是基于j...
2019-03-05 23:28:31
3733
原创 Java垃圾回收
垃圾回收主要回收的是堆内存,基于分代的思想,分为新生代和老年代。本篇主要涉及到JVM中对象分配、对象晋级、对象的生死判定、对象回收、垃圾回收器以及一些垃圾回收的面试题。目录垃圾回收的一些基本概念■JVM中堆内存分配■ 对象分配■ 对象晋级■ 对象生死判定对象回收方法论——分代收集■ 新生代——标记清除法■ 新生代——复制算法■ 老年代——标记整理算法...
2019-03-05 21:10:24
524
原创 毕业设计——基于SSM的在线抽奖系统(构思)
公司HR/人事部门发起抽奖活动,确定——具体抽奖时间、参与抽奖人数(=奖品总数)、抽奖方式、每种奖品的名称和数量 ...具体抽奖方式有两种:(1)随机(每个人抽到的奖品随机) (2)拼手速(时间到了之后点击自己想要的那一个,比如115个人参与抽奖,奖品分为一等奖5个、二等奖10个、三等奖100个,大家都想抽一等奖,但是一等奖没那么多,先抢到的先得,没抢到就得低一个等级奖即二等奖,二等奖...
2019-02-26 12:17:14
1200
原创 Java内存模型及内存溢出相关问题
java内存模型是jvm的基础,而jvm是java的基础,所以弄明白java的内存模型是至关重要的!本篇设计到了Java内存模型(堆、栈等)、常见的内存溢出(OOM、StackOutflowError等)。目录一、Java内存模型相关问题JDK1.6、1.7、1.8的jvm(逻辑上的)内存结构栈和堆的区别是什么?JDK1.8为什么要去除方法区(永久区)?二、常见的内...
2019-02-17 01:06:07
601
原创 定时任务—Spring中集成Quartz
Java的定时任务实现有三种,一种是使用JDK自带的Timer那个类来实现,另一种是使用quartz框架来实现,最后一种是在项目使用Spring框架的情况下用Spring框架来实现。JDK自带的类是单线程的,而且只能定义特定时间去执行任务,而不能指定任务执行的频率,所以一般用的较少,只有处理一些简单的程序才会用到。而quartz是一个轻量级的框架,支持多线程,支持定义频率,所以非常方便。我...
2019-01-17 21:56:27
404
原创 js实现支付页面的倒计时
一般涉及到电商的都会涉及到倒计时,比如下单后在30min中付款,预售商品倒计时开始,秒杀倒计时等等,都需要显示倒计时作为提示,下面是一个简单的实现。
2019-01-16 23:46:28
6661
5
原创 海量数据处理 经典案例
本篇涉及到的问题:海量日志数据,如何提取出某日访问淘宝次数最多的IP;上亿数据,统计其中出现次数最多的前N个数据;海量数据分布在100台电脑上,想办法高效地统计出这些数据的TOP10;5亿个int,找出他们的中位数;两个文件,各存放50亿条URL,每个URL占用64个字节,内存限制是4GB,找出两个文件中相同的URL;有40亿个不重复的undesigned int的整数,没排过序,现在给一个数,如...
2018-09-27 21:18:54
1578
原创 MySQL数据库for面试
本篇涉及到的问题:MySQL引擎; 什么是基本表、视图、游标; char和varchar的区别及使用场景; MySQL中,索引、主键、唯一索引、联合索引的区别,对数据库的读写性能的影响; 为数据库表建立索引的原则、目的及对DBS的负面影响; MySQL语句优化;MySQL执行计划分析;MySQL复制原理。目录MySQL引擎什么是基本表、视图、游标char和varchar的...
2018-09-27 12:57:34
891
原创 数据库面试必备
范式 范式是“符合某一种级别的关系模式的集合,表示一个关系内部各属性之间的联系的合理化程度”。 符合高一级范式的设计,必定符合低一级范式,例如符合2NF的关系模式,必定符合1NF。1NF:符合1NF关系中的每个属性(数据库中的每一列)都不可再分。对应我们设计就是不能出现重复的列。这个是关系数据库的基础没有人会犯这个错误(数据库也不让)。2NF:在1NF的基础之上,消除了非主属性...
2018-09-26 21:49:34
569
原创 计算机网络面试必备(二)
TCP3次握手,4次关闭TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接。下面是一些名词解释(PS:ACK、SYN和FIN等大写单词表示标志位,取值只能是0或1;ack、seq小写的单词表示序号): 位码即TCP标志位,有6种标示:SYN(synchronous建立联机)、ACK(acknowledgement 确认)、PSH(push传送...
2018-09-23 22:47:33
460
原创 计算机网络面试必备(一)
OSI七层协议 OSI全称为Open System InterConnection,即开放式系统互联,国际标准化组织ISO制定了OSI模型。该模型按照功能、分工的不同,人为地将网络通信的工作分成了7层。互联网的本质就是一系列网络协议。每一层都运行不同的协议,协议就是标准。实际上这个7层是不存在的,区分出这7层的目的就是让你明白哪一层是干嘛的!另外,还有人把它划成四层、五层,具体如下...
2018-09-23 16:20:42
1651
原创 操作系统面试必备
虚拟内存管理先弄清楚几个概念:物理地址(Physical Address,PA)——CPU地址总线传来的地址,物理地址中很大一部分是留给内存条中的内存的虚拟地址(Virtual Address,VA) / 线性地址(Linear Address)—— 是逻辑地址到物理地址变换之间的中间层。在分段部件中逻辑地址是段中的偏移地址,然后加上基地址就是线性地址。逻辑地址(Logical A...
2018-09-21 20:11:05
603
原创 (七)算法面试必问
列举出常见排序算法非线性时间比较类排序:通过比较来决定元素间的相对次序。时间复杂度不能突破O(nlogn)而得此名称。线性时间非比较类排序:不能通过比较来决定元素间的相对次序。它可以突破比较排序的时间下限,以线性时间运行而得此称。会写常见的排序算法(如快排、归并)吗?https://blog.csdn.net/zl_StepByStep/article/details/8009...
2018-09-20 22:51:35
972
原创 (六)数据结构面试必问
什么是链表、队列、栈?链表: 当需要存储多个相同数据类型的时候,可以使用数组存储,数组可以通过下标直接访问,但数组有个缺点就是无法动态的插入或删除其中的元素(特别是操作第一个位置上的元素),而链表弥补了这个缺陷,对于元素的插入和删除操作是很方便的,不过访问元素的“性能”就差很多了。 所谓单链表,即只有一个指针,指向下一个元素(结点)的地址,只要知道单链表的首地址,就可以遍历...
2018-09-19 23:35:06
18114
2
原创 Java8新特性之日期处理
在Java8之前,操作日期的话不是很方便,有很多地方需要自己去实现,Java8中在java.time包里新增了很多处理日期的类,通过这些类可以使开发者更加便捷的操作日期,这些类都是final修饰的,且都是线程安全的。下面介绍几个常用类:LocalDate类只能处理日期public class TestLocalDate { public static void ...
2018-09-17 23:19:42
278
原创 Java8新特性之stream、map和reduce
Java8新了stream API,需要注意的是Stream和I/O中的流是没有关系的,这个stream主要是要来处理集合数据的,可以将其看作一个高级迭代器。在Collection接口中新增了非抽象的stream方法来获取集合的流。 另外,Java8中新增了一个Optional类用于处理空指针异常,该类位于java.util包下,使用这个类可以更好的支持函数式编程,并且可以简化...
2018-09-16 23:07:53
49128
4
原创 Java8新特性之lambda表达式
在了解lambda表达式之前,必须先了解函数式编程、函数式接口和default方法。在Java8出来之前,别的编程语言中已经有了函数式编程这种概念,只不过后来没落了,不过在最近几年又火起来了。在Java8中大力提倡我们使用函数式编程,并且更新了一些类(java.utl.function),让我们根据这些类来编程。目录一、有关函数式编程、函数式接口和default方法的介绍...
2018-09-16 17:02:12
553
原创 对象和对象的引用,值传递和引用传递
刚刚接触Java时应该听说过一句“万物皆对象”,《Java编程思想》一书中也描述对象“将对象视为奇特的变量,它可以存储数据,除此之外,还可以要求它在自身上执行操作。理论上讲,可以抽象待求解问题的任何概念化构件,将其表示为程序中的对象”。对于对象的引用,心里大概知道,却不知怎么表达。还有一个问题就是Java是值传递还是引用传递,在C语言中这个问题看到的比较多,在Java中似乎没怎么探讨过。下面围绕上面两个问题来分析!
2018-09-15 16:08:46
2892
原创 Java中==与equals()以及hashCode()
说起==和equals()方法,心里大概明白,若是要详解,可能会有些说不清,hashCode()方法用的不是很多,要说它和equals()方法的联系,一时也说不太清,本篇详细分析一下! *Java中==与equals的区别? 对于八大基本数据类型(包括数组)的比较,那一定是用==,因为只有引用类型才有方法嘛!所以对于==和equals()方法的讨论仅限于引用类型。S...
2018-09-08 18:55:03
277
原创 String、StringBuffer与StringBuilder
似乎在平时编码中,String、StringBuffer与StringBuilder三者中只用到了String,另外两个很少用到。此篇来总结一下他们三者的区别、适用环境。*String、StringBuffer与StringBuilder三者的区别? 首先应该明确:String是字符串常量,StringBuilder和StringBuffer是字符串变量。其次就是Stri...
2018-09-08 13:53:13
139
原创 Java中的String类、常量池与intern方法
在 JAVA 语言中有8中基本类型和一种比较特殊的类型String。这些类型为了使他们在运行过程中速度更快,更节省内存,都提供了一种常量池的概念。常量池就类似一个JAVA系统级别提供的缓存。8种基本类型的常量池都是系统协调的,String类型的常量池比较特殊,它的主要使用方法有两种:①直接使用双引号声明出来的String对象会直接存储在常量池中 ②如果不是双引号直接声明的String对...
2018-09-06 22:22:55
433
原创 接口和抽象类的区别
*接口和抽象类的概念? 接口(interface),是抽象方法的集合,一个类通过实现接口来实现接口中的抽象方法。 切记:接口不是类,接口无法被实例化!类描述对象的属性和方法,接口则包含类需要实现的方法,除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。在Java中,接口类型可以用来声明一个变量,他们可以成为一个空指针,或是被绑定在一个以此接口实现的对象。 ...
2018-09-03 22:32:57
174
原创 Java中的多态及其实现机制
Java面向对象的三大特征——封装、继承和多态,多态比较难以理解,也通常被考察,所以掌握多态及其实现机制是尤为重要的。本篇主要总结了多态的定义,编译时多态和运行时多态,方法重载和重写的区别、关于多态的例子这些问题。
2018-09-03 20:35:57
460
原创 Intellij Idea使用入门(二)——在IntelliJ IDEA 中搭建Maven ,并配置Tomcat
Maven 是一个项目管理工具,它提供了一个构建完整的生命周期框架。 下面介绍在Idea中使用Maven搭建 Spring MVC ! 一、在 Idea 中创建 Maven 项目选择File ->new ->Project,在弹出框New Project中选择Maven如上图所示,点击Create New Project:标注 1:Maven选项;标注 2:Project SDK...
2018-07-10 21:28:45
630
原创 Intellij Idea使用入门(一)——Idea常用设置,Project和Module的区别及快捷键总结
本篇主要是对Idea的常用设置(主题、字体、自动编译、编译器选择等)、Project和Module的区别 Intellij Idea是JetBrains公司的产品,社区版可以免费使用,旗舰版是按年收费的,学生凭学生证或者创业公司可免费使用一年,当然也可以选择破解,使用的话肯定是旗舰版好用,因为社区版少了很多功能。 我之前一直用的是eclipse,对于Intellij Idea(后面简称Idea)也差不多是刚刚接触,先不谈技术,谈谈用的感受,Idea界面是我喜欢的,之前用过Android S...
2018-07-09 16:36:56
21944
5
原创 SSH整合之个人博客系统一对多(登录+注册(Ajax)+拦截器+分页查询+增删改)
我做的这个小网站(个人博客系统)严格按照三层架构(Web-Service-Dao),将Ajax应用到了注册功能中(在账号输入框失去焦点时,提示账号有没有被注册过),Struts2的自定义拦截器(用户只有登陆了,才能对博客进行增删改查),Spring中的DI、AOP、事务管理。所有对象都交由Spring管理,HibernateTemplate操作数据库(applicationContext.xml中可以体现)。用户可以选择登录,可以自行注册,登陆后,可以退出登录,再登别的账号(不关闭窗口,不回退
2018-06-23 23:41:47
626
1
原创 Java EE SSH框架之整合(登录+分页查询+增删改)
本篇只涉及到两个实体类 Administer 和 Book ,两者之间没什么联系,不同用户登陆之后看到的/操作的都是一样的book列表,但实际业务中,针对于不同用户登陆后所看到的和操作的都应该是不一样的。本篇作为过渡,下一篇将实现一个简单的个人博客项目,相当于“一对多”(User 和 Blog),还会涉及到拦截器,注册验证(Ajax)。
2018-06-23 23:31:09
838
原创 Java EE SSH框架之整合(登录功能)
SSH三大框架整合原理见下图:了解大致原理之后就是导包一、导包(最终,WEB_INF的lib下一共40个jar包)若懒得自己去找直接用我的也可以——》Baidu网盘链接:https://pan.baidu.com/s/1rVESEVjq_eAp8bUDFjrx_Q 密码:bcnlStruts2:①apps下的Struts2-blank所有包,注意,图中选中的javassist包会与hiberna...
2018-05-29 17:29:00
1810
4
原创 Java EE SSH框架之Spring(5)——Spring中的AOP事务
一、相关概念1.1、事务 1.1.1、事务特性 原子性(acid):强调事务不可分割 一致性:事务的执行前后数据的完整性保持一致 隔离性:一个事物执行的过程中,不应该受到其他事物的干扰 持久性:事务一旦结束,数据就持久到数据库 1.1.2、事务的并发问题 脏读:一个事务读到了另一个事务的未提交的数据 不可重复读:一个事...
2018-05-26 20:37:05
385
原创 Java EE SSH框架之Spring(4)——Spring整合JDBC
Spring中提供了一个可以操作数据库的对象,该对象封装了JDBC技术,它与DBUtils中的QueryRunner非常相似。一、Spring整合JDBC步骤: ❤ 导包: ▶4个Spring核心jar包+2个日志包不再重复 —— 6个 ▶Spring-test + Spring-aop —— 2个 ▶c3p0连接池 , JDBC驱动(第三方依赖包中) —— 2个 ▶Sp...
2018-05-26 20:36:36
330
SQL语句练习
2019-05-06
SSH整合案例(个人博客)
2018-06-18
SSH整合(登录+增删改查)
2018-06-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人