自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

MA的博客

JAVA爱好者

  • 博客(26)
  • 收藏
  • 关注

原创 http与socket的长短连接

http的长连接与短连接首先,我们要知道,http协议底层是用tcp连接的,所以http的连接本质上就是tcp的连接。http短连接  在http1.0中,默认使用的就是短链接,所谓短连接,是指客户端与服务点建立连接,在完成服务之后立马就会断开连接。比如访问一个网页,包含html、图片、音乐。在一次http短连接中,当把html传输完成后,就会断开连接,传输图片时,会在此建立连接,之后在断...

2018-12-27 17:13:28 450

原创 java实现反转链表

/** * 反转链表 * @author MA * */public class Main { static class Node{ int val; Node next; public Node(int val){ this.val = val; } } public static Node reverseList(...

2018-10-01 19:30:00 248

原创 Java实现链表是否有环、环的长度、环的入口

/** * 判断链表是否有环 * @author MA * */public class Main { static class node{ int var; node next; public node(int var){ this.var = var; } } public static boolean isLoop(node head){ i...

2018-10-01 18:01:34 383

原创 赛码网上的多行输入

最近一直在笔试,笔试了很多家,编程题总是0%,在本地的IDE上都没问题。终于发现了问题,赛码网上多行输入时一定要用这样的方式,要不然就是0%我把练习题的第一个贴出来大家看看输入格式(只有java的)import java.util.Scanner;//数列的定义如下: 数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。public class Main { pub...

2018-09-10 15:54:25 5333

原创 笔试题

int func(){ int i,j,k=0; for(i=0,j=-1;j=0;i++,j++) { k++; }return k;}int main(){ cout<<(func());}最后输出:0因为for循环中间应该是一个布尔的条件,所以j=0的意思是false,所以孙环一次都不执行。...

2018-09-04 17:24:33 138

原创 java求两个数的最大公因数以便实现分数约分

int gongyinshu = 1; int small = fenzi < fenmu ? fenzi : fenmu; for(int i=1;i<=small;i++){ if(fenzi % i == 0 && fenmu % i == 0){ gongyinshu = i; ...

2018-09-04 16:12:41 1556

原创 HashMap底层原理

学过Java的朋友都知道,HashMap是众多集合之一,非常重要,是一个键值对的集合。下面我们来说一说HashMap的底层实现原理。ArrayList是由动态数组实现,LinkedList是由链表实现,而HashMap是这两个是结合体,他是有线性链表实现的。之所以叫它线性链表也是因为是由数组和链表共同组成                                         ...

2018-07-19 18:23:31 181

原创 常用的html标签与css属性

一、HTML:Hyper Text MarukupLanguage,超文本标记语言HTML,文件本质上是一个文本文件,文件扩展名通常是 .html 或 .htm。网页的基本结构:<html><head></head><body></body></html> Html常用标签: 字体风格: <i> <s

2018-07-13 20:23:18 1042

原创 java基础细节(四)

Java基础细节(二)一、jdk中有关禁制转换的方法          十进制转成十六进制:          Integer.toHexString(inti)          十进制转成八进制          Integer.toOctalString(inti)         十进制转成二进制          Integer.toBinaryString(inti)         ...

2018-07-07 17:55:43 222

转载 spring的依赖注入

最近一直在研究spring框架,想总结总结,无意中看到了篇描述依赖注入的博客,我觉得写的非常好,所以就转了过来,在此感谢原博主。原网址:https://blog.csdn.net/taijianyu/article/details/2338311/ Spring 能有效地组织J2EE应用各层的对象。不管是控制层的Action对象,还是业务层的Service对象,还是持...

2018-06-18 16:44:50 162

原创 Java基础细节(三)

Java基础细节(三)1、 boolean类型不能与任何类型进行转换,byte的取值范围为-128---127.2、 抽象类与接口:(1)     抽象类可以有构造方法,接口中不能有构造方法。(2)     抽象类可以有普通成员变量,接口中没有普通成员变量。(3)     抽象类可以包含非抽象的普通方法,接口中的方法必须是抽象的。(4)     抽象类中的抽象方法的访问类型可以是public,pr...

2018-06-14 20:26:39 184

原创 Java基础细节(二)

Java基础细节(二)1、 类加载的顺序(1)    父类静态对象和静态代码块(2)    子类静态对象和静态代码块(3)    父类非静态对象和非静态代码块(4)    父类构造函数(5)    子类非静态对象和非静态代码块(6)    子类构造函数 2、 一个.java文件中,只能存在一个类是用public修饰的,并且此类与文件名相同,其他的类不能是public权限的,但是可以有很多个类。3、...

2018-06-07 17:57:10 317

原创 初步了解Nginx与反向代理

小弟初次接触,所说的如果有问题还请各位指出。 一、Nginx1、介绍  Nginx是一个使用c语言开发的高性能的http服务器及反向代理服务器。是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。Nginx主要运用于网页静...

2018-06-03 22:55:11 163

原创 Linux常用的基础命令

1、 打开文件夹 cd 文件夹名                 切换到该目录 cd ../                        切换到上一层目录 cd/                       切换到系统根目录 cd ~                      切换到用户主目录 cd-                      切换到上一个所在目录 2、 文件夹的操作mkdir ...

2018-06-02 18:11:56 264

原创 解决maven工程配置文件不拷贝的问题

maven工程下,对于java文件包,工程只拷贝编译.java的文件,而并不拷贝xml配置文件,配置文件只有放在resource包下才会拷贝。而当我们使用mybatis逆向工程生成了mapper文件和它的配置文件是放在一起的,所以我们如果不想再把配置文件单独放在resource包,就需要在dao包的pom文件中配置如下代码,以解决配置文件不拷贝的问题。<build> <res...

2018-05-31 18:06:17 1620

原创 Java基础细节(一)

Java基础细节(一) 1、 子类的构造方法在调用时,必须要先调用父类的构造方法,默认是调用无参构造,如果父类中没有无参构造,则在子类开始必须加上super(“参数”),否则报错。Eg:clalss  A{Public A(int a){};}Class B extendsA{Public B(int b){};} 这样就会报错,必须要在B类的第一行加上 super(1),才可以。  2、 jav...

2018-05-20 18:06:12 194

原创 有关Stack类

在jdk中有一个Stack类,翻译过来就是我们常说的栈。这个类继承自Vector类,也算是一种集合、一种容器。Stack类中存放的也是对象。 当我们对数据要进行栈操作的时候,可以考虑使用这个类。Stack使用起来也非常简单,直接new就可以。 Stack<T>  stack  =  new  Stack<T>; 在Stack类中,除去继承自父类的方法,还有几个自己的方法:e...

2018-05-19 16:53:19 445

原创 Java中二维数组的length方法

在一维数组a[ ]中,a.length 方法的意思就是返回这个数组的长度。比如a[] = {1,2,3,4,5},则a.length = 5. 但是二位数组b[][]的length方法代表着什么呢? 在二位数组中,如果直接调用b.length方法,返回的则是b数组的行数,                          如果是b[0].length方法则返回的是0行所代表的长度。public c...

2018-05-18 16:37:41 24127 3

原创 JVM相关知识---类加载器与双亲委派模型

1、类加载器类加载器就是实现了通过一个类的权限定名获得描述此类的二进制字节流的代码模块,这个动作是放在java虚拟机外去做的。   2、类与类加载器  类与加载这个类的类加载器一同确定类在内存中的唯一性,就是说判断两个类是否相等时是否返回true。当两个类来自同一Class文件,被同一个虚拟机加载,只要他的类加载器不同,那么这两个类也不相等。 3、双亲委派模型        从虚拟机的角度上来看,...

2018-05-01 17:15:15 176

原创 Spring的基本概念与配置

Spring的基本概念与配置Spring就是一个大容器,可以存放很多个对象的大容器。基本概念:1、 IOC:IOC(Inverse of control)反转控制在平常时,当我们需要一个对象的时候,就需要去手动new一个,在spring中,创建对象的过程可以交给spring去完成,这就叫做反转控制。反转控制就是反转了对象创建的方式,以及他们的依赖关系,都有spring控制。 2、 DI:DI(De...

2018-04-30 17:47:14 216

原创 JVM相关知识---类加载的过程

类加载的过程        类从加载到虚拟机开始,到卸载出内存后,总共的生命周期包括:加载、验证、准备、解析、初始化、使用和卸载。验证、准备、解析这是三个步骤被称为连接。        加载、验证、准备、初始化和卸载这五步的顺序是固定,必须按照这个顺序开始,而解析这个步骤是不一定的,它可以放在初始化的后面,这是为了支持java语言的运行时绑定。在类加载这几步中,要注意的是,他们是按部就班的开始的,...

2018-04-29 17:57:21 120

原创 JVM相关知识---内存分配与回收策略

内存分配与回收策略 1、对象优先在Eden分配前几篇文章中提到过,java堆的新生代中分有一个Eden区,和两个Survivor区,默认情况下两者比例为8:1。当新的对象进来时,会优先在Eden区上为对象分配空间。如果此时Eden的大小并不足以放进这个对象,则会出发一次新生代的垃圾回收,将Eden和Survivor中的还存活的对象全部复制到另一块Survivor中,然后在Eden中分配。 2、大对...

2018-04-25 12:12:38 162

原创 JVM有关知识---垃圾收集(二)

垃圾收集器一、serial收集器      Serial收集器是最基本,发展历史最悠久的收集器。Serial收集器是单线程的收集器,它只会使一个线程去做垃圾收集工作,不仅如此,在做收集工作时,会在后台暂停用户的所有线程,正所谓“Stop The World”。这不仅是serial的问题,所有的垃圾收集器都会有这个问题,只不过区别在于越优秀的收集器,暂停的时间就越短,但是依旧无法完全消除。     ...

2018-04-21 17:57:52 107

原创 JVM有关知识---垃圾收集(一)

这篇文章主要讲讲jvm有关垃圾收集的知识,本篇文章分为三个部分,虚拟机什么时候回收对象、垃圾收集算法与垃圾收集器 一、对象什么时候回收  对象什么时候回收,换句话说就是虚拟机如何判断对象是该“生存”还是“死亡”。1、引用计数算法   引用计数算法是一个非常高效的算法,用途也非常光,其中非常著名的就是微软公司COM (Component Object Model)技术。它的主要思想就是给对象添加一个...

2018-04-19 16:59:16 141

原创 JVM相关知识---对象

1. 对象的创建   在我们一般创建对象是就是只需要new就可以,但是在虚拟机内部,需要很多步骤来把这个对象创建出来。首先,虚拟机会会根据new这个指令检查这个指令的参数是否在常量池中可以定位到一个类的符号引用。并且被加载、解析初始化过,如果没有则执行类加载。   类加载后,虚拟机就该为对象分配空间了。有两种分配空间的方式,一种是“指针碰撞”,一种是“空闲列表”。何为指针碰撞? 首先假设内存空间是...

2018-04-15 18:23:49 157

原创 JVM相关知识---java内存区域

Java虚拟机(jvm)在运行java程序的过程中会把它所管理的内存分为好几个区域,每个区域都会有每个区域各自的职责与功能。其中主要的区域包括:堆、虚拟机栈、本地方法栈、方法区、程序计数器。  1、堆:堆是jvm管理的最大一块内存,jvm会在对上面为对象和数组分配内存。堆又可以分为新生代与老年代,新生代又可以分为Eden空间、Survivor空间,这些我将在以后的文章中介绍。Java堆也是垃圾管理...

2018-04-14 20:39:46 119

空空如也

空空如也

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

TA关注的人

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