自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 来,了解了解虚拟内存

内存,大家都很熟悉,没了内存,CPU跑不起来。内存空间在使用时被分成两部分,一部分是内核空间,一部分是用户空间。之所以要这样划分,是为了避免用户应用程序直接关闭内核空间中的关键进程,从而导致系统崩溃。但是对内存的使用存在这样一个问题:假设用户空间有700M,现在有3个应用程序需要运行,大小分别为300M、300M和400M。那么程序1会被分配300M,程序2也会被分配300M,...

2019-09-07 08:17:14 180

原创 SpringMVC原理探究

SpringMVC是使用Spring进行web开发的一个重要模块。可以这样来看待MVC的职责,M(model)可以对应于service层或dao层,负责对实体类或者说数据进行处理;V(view)对应于jsp文件,负责向用户显示各种视图;C(controller)对应于controller层,负责对请求进行转发。下图是SpringMVC的工作流程图。image.png流...

2019-07-24 13:46:38 181

原创 java中向list中添加子list的另一种思路

要向list中添加子list,最直观的思路就是list嵌套list。示例代码如下: @org.junit.Test public void testList(){ List<ArrayList<Integer>> list = new ArrayList<ArrayList<Integer>>(); ...

2019-07-24 13:44:25 2110

原创 重新理解二分法

一般的书在讲解二分法的时候都是以在有序数组中查找目标值为例子来讲解。但是实际上二分法的应用可以更广泛。给定任意一个数组,只要该数组能够根据某个判定条件将区间分成两段,一段满足该判定条件,另一段不满足该判定条件,那么我们就可以用二分法查找到两段的临界点。下面以用二分法开方为例。Implement int sqrt(int x).Compute and return the squar...

2019-07-24 13:40:41 224

原创 log4j源码探究

log4j是一种常用的日志框架,帮助我们打印日志,以便日后出现问题时通过查看日志来排查原因。首先对log4j进行一次简单的应用展示。第一步:在idea中新建一个maven工程,并在pom文件中导入依赖。 <dependencies> <!-- https://mvnrepository.com/artifact/log4j/log4j --&g...

2019-07-24 13:39:39 184

原创 请听第二道算法题:修改矩阵

今天来看一下美团2019春招的第二道算法题。image首先还是分析一下题目的规律。根据题意,每个格子e的上下左右四个相邻元素必须相等,且不等于e。我们定义一个概念:当格子的横纵坐标之和为奇数时我们称该格子为奇数格子,当格子的横纵坐标之和为偶数时我们称该格子为偶数格子。我们可以发现,对于满足题意的矩阵,所有偶数格子上的数均相等,所有奇数格子上的数均相等,且奇数格子上的数不等于...

2019-07-24 13:38:30 189

原创 请听第一道算法题:爱健身的小王

刚参加工作的小伙伴可能觉得算法没什么用处,会工程开发就行,会写业务就行。但是当你达到一定的水平以后,你会发现系统的瓶颈可能在于算法,一个好的算法和一个差的算法在系统性能上的表现有云泥之别。不止于此,学习和练习算法也能锻炼人的思维能力,不管你做什么事都会有潜移默化的影响。所以,总之一句话,让我们现在就开始学习算法吧!今年实习生招聘差不多也接近尾声了,各大厂的笔试题目在网上都能找到。今天我们看一道...

2019-07-24 13:37:36 162

原创 接口与RESTful API

我们常常听到“接口”这个词,但是到底什么是接口呢?接口最简单的一个含义是Java中的interface。学过Java的同学都知道interface,用于约定方法签名。其好处在于把调用方与方法的实现解耦了。调用方永远通过接口来进行服务的调用,也就是说接口是服务调用的入口。接口的另一个含义是应用程序接口(API)。API是一种更宽泛意义上的接口。那API到底是什么呢?API的一个简单示例长这样...

2019-07-24 13:33:53 152

翻译 你为什么可以持有数百万个goroutine却只能持有几千个Java线程?

很多使用基于jvm的语言的资深工程师都曾经见过下面这样的错误:在我那台跑Linux系统的手提电脑上,才开11500个线程就会报这种错误。如果你用go语言创建goroutine,结果会完全不同。在我的手提电脑上,可以创建7千万个goroutine。为什么goroutine数量比线程都这么多呢?这个答案需要深入到操作系统内部,很有意思。这不只是一个学术问题,它对你设计软件也有影响。我多次遇...

2019-07-24 13:32:23 226

原创 raft算法浅析

raft算法可分解成六部分:选举leader:包括检测崩溃和选举新的leader复制logleader发生变化时的安全性、可用性和一致性中立旧leader客户端交互修改配置:增加或删除serverraft算法定义了term(任期)的概念。一个term可分为两个阶段:选举和复制日志。选举阶段用于选出一个leader,且仅有一个leader;leader选举出来以后,就可以...

2019-07-24 13:27:14 484

原创 paxos共识算法浅见

笔者最近在关注分布式系统中的共识算法,观看了油管上的官方视频和一些文章后,自己也来总结一下。paxos算法分成两大类:一类是basic paxos算法,另一类是multi-paxos算法。basic paxos算法中,可以有多个server提议。如果一个server propose期间,没有其他server propose,显然将以该server的proposal为准。但是如果一个serv...

2019-07-24 13:20:33 253

原创 测试FailFast

public class FailFastTest { private static List<Integer> list = new CopyOnWriteArrayList<>(); private static class threadOne extends Thread{ public void run() { ...

2017-10-17 22:57:22 225

原创 java技术手册

1.1.2 jvm jvm本质上是一个程序,我们可以把自己写的java代码抛给jvm,让它允许java代码,但是真正提供给jvm的不是java源码,而是源码编译后得到的java字节码,扩展名为.class。jvm是字节码程序的解释器。设计jvm的目的:• 包含一个容器,让应用代码在其中运行。• 较之C/C++,提供了一个安全的执行环境。• 代开发者管理内存。• 提供一个跨平台的执行

2017-10-10 22:16:49 223

原创 java笔试面试题

一、匿名内部类是否可以继承其它类,是否可以实现接口? 匿名内部类: 1.匿名内部类其实就是内部类的简写格式。 2.定义匿名内部类的前提:内部类必须是继承一个抽象类或者实现接口。只要一个类是抽象的或是一个接口,那么其子类中的方 法都可以使用匿名内部类来实现 3.匿名内部类的格式: new 父类或者接口(){定义子类的内容} 4.其实匿名内部类就是一个匿名子类对象。而且

2017-10-03 21:39:28 281

转载 java中的volatile关键字

原子性、可见性和有序性volatile关键字

2017-09-20 10:22:21 239

原创 eclipse debug断点进不去的问题

在调试项目的时候,设置了断点,按照逻辑应该是能够在断点处停住的,但是怎么试都进不去。网上查了一下之后,发现是line number的问题。 可以参考这篇博客: http://blog.csdn.net/u013124888/article/details/51675656 工程编译的时候没有设置linenumber,导致调试的时候无法定位,关键是:这个linenumber设置是针对某个工程的,

2017-09-12 17:57:13 12831

原创 springmvc中遇到的问题

1. **九月 08, 2017 5:23:59 下午 org.springframework.web.servlet.DispatcherServlet noHandlerFound 警告: No mapping found for HTTP request with URI [/springmvc-2/springmvc/emps] in DispatcherServlet with nam

2017-09-08 17:29:43 358

原创 SpringMVC笔记

springMVC的Map可以通过目标方法的形参接收springMVC传进来的Map对象。put进该map对象的键值对会被存入requestScope中,在目标页面可以很方便地用EL表达式获取。SessionAttributes在上述Map的基础上,为类\color{Crimson}{类}添加@SessionAttributes 注解(不能修饰方法),可以通过属性名指定需要放到会话中的属性外,也

2017-09-06 20:55:23 157

转载 JAVA中的线程安全与非线程安全

原文:http://blog.csdn.net/xiao__gui/article/details/8934832ArrayList和Vector有什么区别?HashMap和HashTable有什么区别?StringBuilder和StringBuffer有什么区别?这些都是Java面试中常见的基础问题。面对这样的问题,回答是:ArrayList是非线程安全的,Vector是线程安全的;HashMa

2017-09-06 11:13:29 189

原创 hibernate框架笔记之检索策略

一、类级别的检索策略分为立即检索和延迟检索(默认方式)。若要用到检索对象的属性,使用立即检索,否则使用延迟检索。get方法是立即检索,load方法是延迟检索。.hbm.xml文件的元素的lazy属性可以设置检索策略。lazy属性仅对load方法有效。.二、一对多和多对多的检索策略set元素的lazy属性默认为true,即使用懒加载策略。若使用了懒加载策略,则当对集合

2017-08-26 19:37:37 180

原创 数据库概念

数据库事务的acid属性:1.原子性(atomicity):指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。2.一致性(consistency):事务必须是数据库从一个一致性状态转到另一个一致性状态,如a、b账户分别有100块,a给b汇款50块,一致性必须保证a账户剩50块,b账户有150块。3.隔离性(isolation):一个事务的执行不能被其他事务干扰。

2017-08-26 18:12:12 165

原创 hibernate框架笔记之session缓存

sessionFactory:session工厂类,线程安全,一个应用只初始化一个sessionFactory对象,用于获取session对象。可以在hibernate.cfg.xml中配置sessionFactory的基本属性。session是应用程序与数据库之间交互的一个单线程对象。session有一个一级缓存,显式执行flush前,所有的持久层操作的数据都缓存在sessi

2017-08-26 18:09:13 166

原创 Hibernate框架笔记之数据表关联关系

持久类之间是has-a关系(比如Worker类中有Pay类),在Worker.hbm.xml中对Pay属性使用component元素。component元素中配置Pay的属性。结果只生成一张数据表,包含Worker的属性和Pay的属性。如果Order中有对Customer的引用,则是单向多对一关联;如果Customer中有对Order集合的引用,则是单向一对多关联;如果Orde

2017-08-26 18:04:13 228

原创 Hibernate框架笔记之四种对象状态

sessionFactory:session工厂类,线程安全,一个应用只初始化一个sessionFactory对象,用于获取session对象。可以在hibernate.cfg.xml中配置sessionFactory的基本属性。session是应用程序与数据库之间交互的一个单线程对象。session有一个一级缓存,显式执行flush前,所有的持久层操作的数据都缓存在sessi

2017-08-24 21:29:41 226

原创 总结javaweb遇到的问题

java.lang.ClassNotFoundException: com.atguigu.spring.struts2.listeners.SpringServletContextListener

2017-08-22 17:40:21 450

原创 Java中关于Map对象中改变Key值的问题

首先给出经验:通常情况下都是将Map的key设为不可变量,如string等,不要用可变量做key。

2017-08-15 16:17:37 24198 1

原创 struts2中关于list对象注入的问题

details.jsp页面上提供如下表单:<% List cities = new ArrayList(); cities.add(new City(1001,"gz")); cities.add(new City(1002,"sz")); cities.add(new City(1003,"wh")); request.setAttribute("cities", cities

2017-08-13 10:28:16 903

原创 《Wavelet Theory:An elementary Approach With Applications》中关于例6.10的疑惑

我用matlab仿真式(6.79),式中a0,k直接取书上算出来的系数,即[0.006,-0.056,2.347,3.192,2.009,-0.663]; φ (t)则直接由书上的滤波器系数求得,结果仿真的结果跟书上相差甚远,百思不解。仿真结果与书上结果比较:我的结果书上的结果现将源码公布如下:clearclctict=-3:0.001:3;a0

2017-03-12 21:58:59 1720 1

原创 c++笔记 第八章 标准IO库

1.IO对象不可复制或赋值,但是可以引用ofstream out1,out2;void print(ofstream);void print2(ofstream &);out1=out2;//赋值错误print(out2);//形参复制错误print2(out2);//正确2.

2016-11-13 11:28:41 392

原创 C++ primer 第七章笔记

重载函数匹配优先级(从高到低):1.精确匹配;2.类型提升后匹配;3.类型转换后匹配;4.class-type conversion后匹配。注意:1.整型值无法传递给枚举类型的形参。2.直接引用函数名和在函数名上应用取地址操作符是等效的。e.g: typedef bool(*cmp)(const string&, const string&);

2016-11-12 22:42:14 226

原创 n*n螺旋方阵的C语言实现

萨芬#includevoid main(){int a[100][100];int n;//方阵阶数int i;//下标变量int inc = 0;scanf("%d",&n);for(int m=0;m=m;i--){a[n-m-1][i] = ++inc;}for(i=n-m-2;i>=m+1;i--){a[i][m] = ++inc;}}for(i=0;i<n;i++){for(int

2014-02-20 19:26:38 1494

空空如也

空空如也

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

TA关注的人

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