![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 95
zhisheng_blog
这个作者很懒,什么都没留下…
展开
-
正则表达式
今天做了一份java面试题时发现了一个题目是有关正则表达式的,而自己当场就蒙了,根本没接触过正则表达式。题目如下:写出以下正则表达式1、1-6位字母或数字: 2、手机号(只能以139或159开通,11位数字)自己就在网上搜索了一下正则表达式,发现这个博客讲的还不错,所以分享出来,博客地址为https://luolei.org/regula-expression-simple-tut原创 2015-11-22 00:18:37 · 1317 阅读 · 0 评论 -
Java常用排序算法/程序员必须掌握的8大排序算法
分类:1)插入排序(直接插入排序、希尔排序)2)交换排序(冒泡排序、快速排序)3)选择排序(直接选择排序、堆排序)4)归并排序5)分配排序(基数排序)所需辅助空间最多:归并排序所需辅助空间最少:堆排序平均速度最快:快速排序不稳定:快速排序,希尔排序,堆排序。先来看看8种排序之间的关系: 1.直接插入排序原创 2016-03-29 22:39:17 · 5974 阅读 · 1 评论 -
#java读书笔记#多线程1
三、多线程:1、进程和线程:进程:正在进行的程序。每一个进程执行都有一个执行顺序,该顺序是一个执行路径,或者叫一个控制单 元。线程:进程内部的一条执行路径或者一个控制单元。两者的区别:一个进程至少有一个线程进程在执行过程中拥有独立的内存单元,而多个线程共享内存;2、jvm多线程的启原创 2016-03-30 22:35:29 · 750 阅读 · 0 评论 -
#java读书笔记#多线程3
23、停止线程:stop方法已经过时,如何停止线程?停止线程的方法只有一种,就是run方法结束。如何让run方法结束呢?开启多线程运行,运行代码通常是循环体,只要控制住循环,就可以让run方法结束,也就是结束线 程。特殊情况:当线程属于冻结状态,就不会读取循环控制标记,则线程就不会结束。为解决该特殊情况,可引入Thread类中的I原创 2016-03-30 22:58:57 · 521 阅读 · 0 评论 -
#java读书笔记#多线程2
12、Java中多线程同步是什么?同步是用来解决多线程的安全问题的,在多线程中,同步能控制对共享数据的访问。如果没有同步,当一个线程在修改一个共享数据时,而另外一个线程正在使用或者更新同一个共享数据,这样容易导致程序出现错误的结果。 13、什么是锁?锁的作用是什么?锁就是对象锁的作用是保证线程同步,解决线程安全问题。持有锁的线程可以在同步中执行,没有锁的原创 2016-03-30 22:47:48 · 676 阅读 · 0 评论 -
#java读书笔记#基础知识
一、基础知识:1、JVM、JRE和JDK的区别:JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性。 java语言是跨平台,jvm不是跨平台的。JRE(Java Runtime Environment):java的运行环境,包括jvm+java的核心类库。JDK(Java Development Kit):java的开发工具,原创 2016-03-27 13:15:15 · 762 阅读 · 0 评论 -
java基础知识
【Java好文精选合辑】①.eclipse使用技巧 ②.Java 反射最佳实践 ③.Java集合框架④.SpringMVC笔记⑤.Spring基础汇总⑥.Java新手问题集锦原创 2016-03-16 16:14:31 · 819 阅读 · 0 评论 -
深入浅出单实例Singleton设计模式
原作者:haoel(陈皓)来源:http://blog.csdn.net/haoel/article/details/4028232单实例Singleton设计模式可能是被讨论和使用的最广泛的一个设计模式了,这可能也是面试中问得最多的一个设计模式了。这个设计模式主要目的是想在整个系统中只能出现一个类的实例。这样做当然是有必然的,比如你的软件的全局配置信息,或者是转载 2016-04-25 22:48:10 · 4999 阅读 · 2 评论 -
#java读书笔记#集合框架2
4:基本数据类型的对象包装类(1)为了更方便的操作每个基本数据类型,java对其提供了很多的属性和方法供我们使用。(2)用途:将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能操作该数据。常用的操作之一:用于基本数据类型与字符串之间的转换。A:方便操作B:用于和字符串进行相互转换(3)基本数据类型和对象类型的对应byteByteshortSho原创 2016-04-06 15:04:23 · 5919 阅读 · 3 评论 -
#java读书笔记#集合框架1
四、集合框架1:String类:字符串(重点)(1)多个字符组成的一个序列,叫字符串。 生活中很多数据的描述都采用的是字符串的。而且我们还会对其进行操作。 所以,java就提供了这样的一个类供我们使用。(2)创建字符串对象A:String():无参构造举例: String s = new String(); s = "hello"; sop(s);B原创 2016-04-06 14:58:29 · 720 阅读 · 0 评论 -
#java读书笔记#面向对象2
上一篇java读书系列笔记文章:#java读书笔记#面向对象114、Math类的使用(重点)(1)数学操作类:该类没有构造函数,方法均为静态的(2)掌握内容A:成员变量**E:比任何其他值都更接近e(即自然对数的底数)的double值。**PI:比任何其他值都更接近pi(即圆的周长与直径之比)的double值。B:成员方法**static原创 2016-03-28 23:05:48 · 671 阅读 · 0 评论 -
#java读书笔记#面向对象1
二、面向对象1、面向对象思想:(1)概述:面向对象是相对于面向过程而言的,面向过程强调的是功能,面向对象强调的是将功能封装进对象,强调具备功能的对象;(2)思想特点:A:是符合人们思考习惯的一种思想;B:将复杂的事情简单化了;C:将程序员从执行者变成了指挥者;比如我要达到某种结果,我就寻找能帮我达到该结果的功能的对象,如我要洗衣服我就买洗衣机,至于怎么洗原创 2016-03-27 13:24:42 · 692 阅读 · 0 评论 -
System.err与System.out的区别
在看书的时候发现了这个system.err当时还以为是由于书本印刷错误的原因,没想到自己多了个心眼就顺便在网上查了一下资料,收获还是有一点的。好奇心是学习的动力啊!下面就讲下System.err与System.out的区别:大多数操作系统都有三个标准文件描述符:标准输入,标准输出,标准出错。 三个操作系统的文件描述符映射到编程语言的标准库中,往往加了一层包装,原创 2016-04-17 02:07:56 · 3801 阅读 · 0 评论 -
#java读书笔记#集合框架3
7、集合类各容器方法:接口Collection方法摘要(没有构造方法)a)添加:i. boolean add(E e)j. boolean addAll(Collection c)b)删除:i. void clear():清空容器j. boolean remove(Objec object):k. boolean rem原创 2016-04-18 20:06:33 · 531 阅读 · 0 评论 -
#java读书笔记#IO流1
1、IO流概述 (1)用来处理设备(硬盘,控制台,内存)间的数据。(2)java中对数据的操作都是通过流的方式。(3)java用于操作流的类都在io包中。(4)按照流操作的数据的类型不同:分为字节流和字符流。字符流是为了方便中文的操作而来的。(5)按照流的流向不同分为:输入流,输出流2、IO流常用基类:(1)字节流输出字节流:Out原创 2016-05-29 23:20:53 · 981 阅读 · 0 评论 -
#java读书笔记#IO流2
4、字符流常用基类的子类写入流:(1)FileWriter:构造方法:FileWriter(String fileName) 根据给定的文件名构造一个 FileWriter 对象。 FileWriter(String fileName, boolean append) 根据给定的文件名以及指示是否附加写入数据的 boolean 值来构造 FileWriter 对象。原创 2016-05-29 23:39:42 · 8902 阅读 · 0 评论 -
多线程的单例设计模式
多线程的单例设计模式: 保证某个类中内存中只有一个对象 (1)设计模式: 解决某类问题行之有效的方法,是一种思想,是规律的总结。 (2)用来保证某个类在内存中只有一个对象 (3)保证唯一性的思想及步骤 1、为了避原创 2016-04-23 22:53:49 · 618 阅读 · 0 评论 -
如何解决failed to push some refs to git
如何解决failed to push some refs to git原创 2016-07-16 15:42:26 · 5795 阅读 · 1 评论 -
IDEA简单实用的快捷键
1、在IntelJ中和Eclipse中稍有不同,在Eclipse中,输入main再按Alt+/即可自动补全main函数,但是在IntellJ中则是输入psvm,选中即可2、在方法体内部有for循环,在IntellJ中是输入fori,然后会有一个提示,选中需要的for循环即可3、System.out.println();在IntellJ中是输入sout原创 2016-07-22 09:34:25 · 655 阅读 · 0 评论 -
Spring boot的第一次简单上手实践
背景 2013年12月12日,Spring发布了4.0版本。这个本来只是作为Java平台上的控制反转容器的库,经过将近10年的发展已经成为了一个巨无霸产品。不过其依靠良好的分层设计,每个功能模块都能保持较好的独立性,是Java平台不可多得的好用的开源应用程序框架。 Spring的4.0版本可以说是一个重大的更新,其全面支持Java8,并且对Groovy语言也有良好的支持。另外引入了非常多的新项目原创 2016-09-14 22:37:35 · 1755 阅读 · 0 评论 -
解决jdk1.8中发送邮件失败(handshake_failure)问题
暑假在家做一个类似知乎的问答型网站(代码可见:Github/wenda 喜欢的可以给个star或者自己fork然后修改,目前功能还未很完善),其中有一个站内邮件通知系统(这里简单的讲一个例子:如果用户登录的时候出现异常,那么就会通过邮件发送通知用户)。然而却碰到一个问题。问题错误信息如下: 发送邮件失败Mail server connection failed; nested excep原创 2016-08-12 22:34:53 · 21398 阅读 · 4 评论 -
JAVA上百实例源码以及开源项目
笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级、中级、高级等,详情看源码列表,需要的可以直接下载!这些源码反映了那时那景笔者对未来的盲目,对代码的热情、执着,对IT的憧憬、向往!此时此景,笔者只专注Android、Iphone等移动平台开发,看着这些源码心中有万分感慨,写此文章纪念那时那景!转载 2016-01-03 17:11:03 · 20219 阅读 · 22 评论 -
深度探究Java 中 finally 语句块
乍看这个题目,是不是有人会问,这个谁不知道啊,大凡熟悉 Java 编程的人都知道 finally 语句块的作用和用法。有什么可深度辨析的呢?事实并非如此,我发现即使写了很多年 Java 程序的人,也不一定能够透彻的理解 finally 语句块。本篇将以生动形象的案例来带您由浅入深的来分析一下这个小小的 finally,希望这篇文章能够让您真正的理解 finally 语句块的本质,至少阅读完本篇文章后原创 2016-11-03 12:57:21 · 4579 阅读 · 0 评论 -
如何准备阿里社招面试,顺谈 Java 程序员学习中各阶段的建议
引言其实本来真的没打算写这篇文章,主要是LZ得记忆力不是很好,不像一些记忆力强的人,面试完以后,几乎能把自己和面试官的对话都给记下来。LZ自己当初面试完以后,除了记住一些聊过的知识点以外,具体的内容基本上忘得一干二净,所以写这篇文章其实是很有难度的。但是,最近问LZ的人实在是太多了,为了避免重复回答,给自己省点力气,干脆就在这里统一回复了。其实之前LZ写过一篇文章,但是那篇文章更多的是在讨论“面试前转载 2016-11-16 09:23:01 · 6560 阅读 · 1 评论 -
如何阅读Java源码 阅读java的真实体会
刚才在论坛不经意间,看到有关源码阅读的帖子。回想自己前几年,阅读源码那种兴奋和成就感(1),不禁又有一种激动。源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心。说到技术基础,我打个比方吧,如果你从来没有学过Java,或是任何一门编程语言如C++,一开始去啃《Core Java》,你是很难从中吸收到营养的,特别是《深入Java虚拟机》这类书,别人觉得好,未必适合现在的你。虽然Tomcat的源转载 2016-11-13 23:12:01 · 5814 阅读 · 0 评论 -
我来告诉你,草根程序员如何进入BAT
万能的林萧说:我来告诉你,一个草根程序员如何进入BAT引言首先声明,不要再问LZ谁是林萧,林萧就是某著名程序员小说的主角名字。写这篇文章的目的其实很简单,算是对之前LZ一篇文章的补充和完善。之前LZ写过一篇《回答阿里社招面试如何准备,顺便谈谈对于Java程序猿学习当中各个阶段的建议》,那篇文章LZ主要介绍了如何应对社招面试,以及如何进行Java学习。文章的反响还不错,不少猿友都感叹,“如果早看到这篇转载 2016-11-15 21:17:19 · 5554 阅读 · 0 评论 -
如何做到招聘要求中的「要有扎实的 Java 基础」
如何做到招聘要求中的「要有扎实的 Java 基础」来历本文来自于一次和群里猿友的交流,具体的情况且听LZ慢慢道来。一日,LZ在群里发话,“招人啦。”然某群友曰,“群主,俺想去。”LZ回之,“你年几何?”群友曰,“两年也。”LZ憾言之,“惜了,三至五为佳。然如汝有扎实之基础,且附一技之长,倒也并非不可呀。”群友惑,问之,“何为一技之长?”LZ抚须答曰,“皆可,吾之一技即为写。”群友又问之,“何为基础扎转载 2016-11-15 21:29:45 · 5182 阅读 · 0 评论 -
奇怪的Java题:为什么128 == 128返回为False,而127 == 127会返回为True?
这是我们今天要讨论的话题,因为我觉得它非常的有趣。如果你运行如下代码:class A{ public static void main(String[] args) { Integer a = 128, b = 128; System.out.println(a == b); Integer c = 127, d = 127;原创 2016-12-11 17:57:31 · 6545 阅读 · 34 评论 -
详谈 Filter 过滤器
详谈 Filter 过滤器文章首发在CSDN博客,转载请务必注明以下所有链接,否则考虑法律追究责任。CSDN地址:个人博客地址:www.54tianzhisheng.cn/Blog/html/filter.html (阅读效果最好)更多精彩博客还请关注我的微信公众号:猿blog1、简介 Filter也称之为过滤器,它是Servlet技术中最实用的技术,WEB开发人员通过Filter技术,对web原创 2016-11-26 00:31:00 · 4714 阅读 · 0 评论 -
Java连接Oracle数据库的三种连接方式
背景:这两天在学习Oracle数据库,这里就总结下自己上课所学的知识,同时记录下来,方便整理当天所学下的知识,也同时方便日后自己查询。SQL语句的话,这里我就不多讲了,感觉和其他的数据库(MySQL、SQL Server)都是类似,区别不大。今天在这里就写下 Java 连接 Oracle 数据库的三种连接方式。工具:Oracle Database 10g Express Edition cmd命原创 2016-12-27 21:01:57 · 59270 阅读 · 6 评论 -
java读取文件
java读取文件以字节为单位读取文件以字符为单位读取文件以行为单位读取文件随机读取文件内容ReadFromFile.javapackage cn.zhisheng.io;import java.io.*;/** * java读取文件 * Created by 10412 on 2016/12/29. */public class ReadFromFile{ /**原创 2016-12-29 15:56:51 · 3139 阅读 · 4 评论 -
详细深入分析 Java ClassLoader 工作机制
详细深入分析 Java ClassLoader 工作机制什么是 ClassLoader ClassLoader 作用1ClassLoader 类结构分析2ClassLoader 的等级加载机制Java默认提供的三个ClassLoaderClassLoader加载类的原理原理介绍2为什么要使用双亲委托这种模型呢3 但是JVM在搜索类的时候又是如何判定两个class是相同的呢Cla原创 2017-02-26 21:44:24 · 3758 阅读 · 5 评论 -
通过项目逐步深入了解Spring MVC(一)
相关阅读:本文档和项目代码地址:https://github.com/zhisheng17/springmvc转载请注明出处和保留以上文字!了解 Spring:Spring 官网:http://spring.io/一个好的东西一般都会有一个好的文档解释说明,如果你英语还行,建议还是看官方文档。Spring MVC基础知识什么是Spring MVC?Spring MVC框架原理(掌握) 前端控制原创 2016-12-19 21:59:24 · 2559 阅读 · 0 评论 -
Java NIO 系列教程
Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API。Java NIO提供了与标准IO不同的IO工作方式: Channels and Buffers(通道和缓冲区):标准的IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲区(Buffer)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道转载 2017-02-07 23:08:51 · 4773 阅读 · 0 评论 -
程序员必备利器—Java程序性能分析工具Java VisualVM(Visual GC)
程序员必备利器——Java程序性能分析工具Java VisualVM(Visual GC)VisualVM 是一款免费的\集成了多个JDK 命令行工具的可视化工具,它能为您提供强大的分析能力,对 Java 应用程序做性能分析和调优。这些功能包括生成和分析海量数据、跟踪内存泄漏、监控垃圾回收器、执行内存和 CPU 分析,同时它还支持在 MBeans 上进行浏览和操作。在内存分析上,Java Visua原创 2017-03-01 22:02:17 · 2639 阅读 · 1 评论 -
Java instanceof 关键字是如何实现的?
从知乎看到的一个问题,觉得不错,就转发过来了,如有侵权,请联系删除。Java instanceof 关键字是如何实现的?面试的时候碰到这个问题,面试官希望能从底层来分析一下。我当时知道的只是在同一个类加载器加载的前提下,使用其生成的对象,去比较才有意义。不同的类加载器加载的类生成对象,互相instanc转载 2017-02-22 21:16:59 · 2009 阅读 · 0 评论 -
深入分析 Java Web 中的中文编码问题
深入分析 Java Web 中的中文编码问题背景: 编码问题一直困扰着程序开发人员,尤其是在 Java 中更加明显,因为 Java 是跨平台的语言,在不同平台的编码之间的切换较多。接下来将介绍 Java 编码问题出现的根本原因;在 Java 中经常遇到的几种编码格式的区别;在 Java 中经常需要编码的场景;出现中文问题的原因分析;在开发 Java Web 中可能存在编码的几个地方;一个 HTT原创 2017-02-14 16:22:07 · 2074 阅读 · 3 评论 -
JetBrains IDE/Android Studio 翻译插件,支持中英互译、单词朗读。
推荐一款比较实用的插件。TranslationPluginJetBrains IDE/Android Studio 翻译插件,支持中英互译、单词朗读。安装兼容除 MPS 外所有产品编译号为143以上的 Jetbrains IDE 产品。支持的 IDE: - Android Studio - IntelliJ IDEA - IntelliJ IDEA Community Edition -原创 2017-03-02 20:53:58 · 5198 阅读 · 3 评论 -
【排序】时间复杂度为O(N^2)的排序——冒泡、选择和插入排序
相关阅读:Java常用排序算法/程序员必须掌握的8大排序算法排序冒泡排序冒泡排序的时间复杂度为 O(n^2)冒泡排序的具体步骤请看下图:这里在写一个简单的冒泡排序题目吧题目:对于一个int数组,请编写一个冒泡排序算法,对数组元素排序。给定一个int数组A及数组的大小n,请返回排序后的数组。 测试样例: [1, 2, 3, 5, 2, 3], 6返回值: [1, 2, 2, 3, 3, 5原创 2017-01-22 20:12:45 · 2523 阅读 · 7 评论 -
【IO】程序访问文件的几种方式
IO程序访问文件的几种方式标准访问文件的方式直接 IO 的方式同步访问文件的方式异步访问文件的方式内存映射的方式IO程序访问文件的几种方式 读取和写入文件 I/O 操作都调用操作系统提供的接口。因为磁盘设备是由操作系统管理的,应用程序要访问物理设备只能通过系统调用的方式来工作。读和写分别对应 read() 和 write() 两个系统调用。而只要是系统调用就可能存在内核空间地址和用户原创 2017-02-04 14:36:36 · 2368 阅读 · 0 评论