Java
zhangbijun1230
这个作者很懒,什么都没留下…
展开
-
设计模式---面向对象的设计原则概述
对于面向对象软件系统的设计而言,在支持可维护性的同时,提高系统的可复用性是一个至关重要的问题,如何同时提高一个软件系统的可维护性和可复用性是面向对象设计需要解决的核心问题之一。在面向对象设计中,可维护性的复用是以设计原则为基础的。每一个原则都蕴含一些面向对象设计的思想,可以从不同的角度提升一个软件结构的设计水平。面向对象设计原则为支持可维护性复用而诞生,这些原则蕴含在很多设...转载 2019-08-29 13:57:17 · 395 阅读 · 0 评论 -
java多线程入门1
java多线程入门1并发和并行并发: 主要是指多个任务交替执行。而且这个情况可能出现串行的 并行:一般是多个任务同时执行。该图来自java高并发程序设计死锁、饥饿、活锁的概念死锁一般是指几个线程占用所有 的资源 不释放资源。那么其他线程就不能获得该资源。那么这种情况就会一直持续下去死锁的产生饥饿 是指某一个或者多个线程因为种种原因无法获得所需要的资源,导致一...转载 2019-03-14 22:28:49 · 316 阅读 · 0 评论 -
java 后台知识
很多程序员会有一个苦恼,工作了很久,在公司一味的增删改查,得不到技术的提高,无缘底层代码,只会用不知其原理!有不少朋友问,如何深入学习Java后端技术栈,今天分享一个,互联网牛人整理出来的Java深入学习路线图,以及免费学习资料。一、阅读源码深入的Java学习,经典源码阅读不可少: 常见的设计模式,编码必备 Spring5,做应用必不可少的最新框架 MyBa...转载 2019-01-14 09:34:01 · 376 阅读 · 0 评论 -
Linux与JVM的内存关系分析
Linux与JVM的内存关系分析 在一些物理内存为8g的服务器上,主要运行一个Java服务,系统内存分配如下:Java服务的JVM堆大小设置为6g,一个监控进程占用大约 600m,Linux自身使用大约800m。从表面上,物理内存应该是足够使用的;但实际运行的情况是,会发生大量使用SWAP(说明物理内存不够使用 了),如下图所示。由于SWAP和GC同时发生会致使JVM严重卡顿,所以我们要追...转载 2018-12-25 09:46:22 · 318 阅读 · 0 评论 -
Java集合系列之四大常用集合(ArrayList、LinkedList、HashSet、HashMap)的用法
Java集合系列之四大常用集合(ArrayList、LinkedList、HashSet、HashMap)的用法 ArrayListArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本。ArrayList 是以数组实现的,遍历时很快,但是插入、删除时都需要移动后面的元素,效率略差些。它提供了如下一些好处:动态的增加和减少元素 实现了ICollect...转载 2018-12-17 20:55:17 · 444 阅读 · 0 评论 -
java(5)---Java基础知识大全
Java基础知识大全一、基础知识: 1、JVM、JRE和JDK的区别: JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性。 java语言是跨平台,jvm不是跨平台的。 JRE(Java Runtime Environment):java的运行环境,包括jvm+java的核心类库。 JDK(Java Development Kit):j...转载 2018-09-22 22:54:40 · 400 阅读 · 0 评论 -
java(5)---static修饰符
static修饰符 static修饰符的特点:1):static修饰的成员(字段/方法),随着所在类的加载而加载.当JVM把字节码加载进JVM的时候,static修饰的成员已经在内存中存在了.2):优先于对象的存在.对象是我们手动通过new关键字创建出来的.3:satic修饰的成员被该类型的所有对象所共享.根据该类创建出来的任何对象,都可以访问static成员.(狗天生就吃屎....转载 2018-09-22 22:42:24 · 275 阅读 · 0 评论 -
Java 中处理 Exception 的最佳实践
Java 中处理 Exception 的最佳实践 在Java中处理异常并不是一个简单的事情。不仅仅初学者很难理解,即使一些有经验的开发者也需要花费很多时间来思考如何处理异常,包括需要处理哪些异常,怎样处理等等。这也是绝大多数开发团队都会制定一些规则来规范对异常的处理的原因。而团队之间的这些规范往往是截然不同的。本文给出几个被很多团队使用的异常处理最佳实践。1. 在Finall...转载 2018-09-21 08:54:33 · 256 阅读 · 0 评论 -
JAVA开发血泪之路:一步步搭建spring框架
JAVA开发血泪之路:一步步搭建spring框架 作为一个服务端开发感觉一直挺排斥框架这种东西的,总觉得什么实现逻辑都帮你封装在里面了,你只需要配置这配置那个,出了问题也不知道怎么排查,之前即使写web程序也宁愿使用jetty这样的嵌入式的web server实现,自己写servlet,总感觉从main函数开始都在自己的掌控范围之内,但是这样的方式的确有点原始,也看到各种各样的开源系统使用...转载 2018-08-03 20:35:10 · 339 阅读 · 0 评论 -
java 多线程初入2
java 多线程初入2并行的两个定律获得更好的性能。 一般我们会把串行的程序改成并行的 期望提高的程序执行效率 问题。 业务的需要。 两个定律分别为 Amdahl 和 GustafsonAmdahl 定律 定义是 加速比 = 优化前的系统耗时 / 优化后系统耗时。 加速比的比值越大那么优化效果越好。公式推导如图所示,F 代表的是串行比例, n代表的是n个处理器...转载 2019-03-14 22:32:03 · 262 阅读 · 0 评论 -
Java多线程3
Java多线程3了解进程与线程的区别。 掌握Java多线程的两种实现方式及区别。 了解线程的状态变化。 了解多线程的主要操作方法 。 了解同步及死锁的概念。进程与线程进程是程序的一次动态执行过程,它需要经历从代码加载,代码执行到执行完毕的一个完整的过程,这个过程也是进程本身从产生,发展到最终消亡的过程。多进程操作系统能同时达运行多个进程(程序),由于CPU具备分时机制,所...转载 2019-03-14 22:34:58 · 281 阅读 · 0 评论 -
java多线程初识4
java多线程初识4进程的概念进程:官方的语言是计算机中的程序,关于某数据集合上的一次运行活动。使系统进行资源分配和调度的基本单位单位,是操作系统的基本单位,是操作系统结构的基础。在现在的线程设计的计算机结构中,进程是线程的容器,程序是指令数据及组织形式的描述,进程是程序的实体,但是总的来说 进程是线程的容器。在平常我们也会说线程是轻量级的进程,是程序执行的最小单位。使用多线程而不是...转载 2019-03-14 22:37:52 · 267 阅读 · 0 评论 -
Eclipse导入的项目中的中文都是乱码,如何解决?
Eclipse导入的项目中的中文都是乱码,如何解决?eclipse之所以会出现乱码问题是因为eclipse编辑器选择的编码规则是可变的。一般默认都是UTF-8或者GBK,当从外部导入的一个工程时,如果该工程的编码方式与eclipse中设置的编码方式不同,就会产生中文的乱码问题,这其中还有几种情况。对于eclipse工作空间 ,eclipse会把你改的设置保存在工作空间的设置文件...转载 2019-04-14 20:39:36 · 5705 阅读 · 0 评论 -
JAVA 多线程 JAVA 如何开发一个自定义线程池
1、多线程设计介绍每一个线程的启动和结束都是比较消耗时间和占用资源的。如果在系统中用到了很多的线程,大量的启动和结束动作会导致系统的性能变卡,响应变慢。为了解决这个问题,引入线程池这种设计思想。线程池的模式很像生产者消费者模式,消费的对象是一个一个的能够运行的任务2、步骤1线程池的思路和生产者消费者模型是很接近的。1. 准备一个任务容器2. 一次性启动10个 消费者线程...转载 2019-03-31 13:06:49 · 451 阅读 · 0 评论 -
Java后端知识---数据结构(1)
数据结构队列java队列——queue详细分析Queue: 基本上,一个队列就是一个先入先出(FIFO)的数据结构Queue接口与List、Set同一级别,都是继承了Collection接口。LinkedList实现了Deque接 口。Queue的实现1、没有实现的阻塞接口的LinkedList: 实现了java.util.Queue接口和java.util.Ab...转载 2019-03-19 00:12:52 · 531 阅读 · 0 评论 -
常用加密算法概述、比较及使用场景说明
常用加密算法概述、比较及使用场景说明 加密算法 概要介绍 算法简要描述 优缺点 破解方式 使用场景 安全性 DES 1,对称加密; 2,数据分组(64位)用秘钥(64位,其中56位有效,8位校验...转载 2019-03-12 15:16:05 · 625 阅读 · 0 评论 -
Java岗 网络篇
Java岗 网络篇1. OSI七层模型总结一下: 应用用层按协议打包数据 由传输层加上双方的端口号 由网络层加上双方的IP地址 由链路层加上双方的MAC地址,并将数据拆分成数据帧 数模信号转换并由物理层传输到另一端 每一层的协议 物理层:RJ45、CLOCK、IEEE802.3 (中继器,集线器,网关) 数据链路:...转载 2019-03-12 13:55:26 · 368 阅读 · 0 评论 -
restfull api 接口 规范
restfull api 接口 规范1 这种接口 可以根据客户端 的要求类型返回不同的类型的 表现形式,比如返回json,返回xml,返回纯文本。2 这种接口 不同的操作就得用不同的方法 get post delete putGET(SELECT):从服务器取出资源(一项或多项)。POST(CREATE):在服务器新建一个资源。 PUT(UPDATE):在服务器更新资源(客...转载 2019-03-11 09:17:09 · 1271 阅读 · 0 评论 -
java初入多线程6
java初入多线程6volatile 与java内存模型(JMM)java的内存模型都是围绕着原子性、有序性、还有可见性来展开的。 volatile 主要是用来告知虚拟机,被volatile 修饰的变量要注意,不要随意改动优化目标指令,使用该关键字是为了保证变量修改后会通知所有线程能看到该摆动。保证变量的可见性。 volatile 并不能代表锁,无法保证复合操作的原子性。但是vol...转载 2019-03-14 22:41:10 · 218 阅读 · 0 评论 -
java初入多线程5
java初入多线程5线程中断概念 :让目标线程停止执行,但是是高知目标线程希望线退出,具体退出由目标线程自己决定。 相关的方法,暂时只介绍Thread的方法Thread.interrupt() //中断线程 也是告知目标线程中断,也就是设置中断标志位 Thread.isInterrupted() //判断是否被中断--通过上面方法设置的中断标志位来判断是否被中断 Thread...转载 2019-03-14 22:39:41 · 280 阅读 · 0 评论 -
JVM难学?那是因为你没认真看完这篇文章
JVM难学?那是因为你没认真看完这篇文章 一:虚拟机内存图解JAVA程序运行与虚拟机之上,运行时需要内存空间。虚拟机执行JAVA程序的过程中会把它管理的内存划分为不同的数据区域方便管理。虚拟机管理内存数据区域划分如下图: 数据区域分类:方法区: (Method Area)虚拟机栈 : (VM Stack)本地方法栈 : ...转载 2018-07-31 11:08:05 · 244 阅读 · 0 评论 -
java基础学习-(2)堆和栈
1 堆:(对象)引用类型的变量,其内存分配在堆上或者常量池(字符串常量、基本数据类型常量),需要通过new等方式来创建。堆内存主要作用是存放运行时创建(new)的对象。(主要用于存放对象,存取速度慢,可以运行时动态分配内存,生存期不需要提前确定)2 栈:(基本数据类型变量、对象的引用变量)基本数据类型的变量(int、short、long、byte、float、double、boolean、char...转载 2018-03-13 09:00:47 · 304 阅读 · 0 评论 -
一张图看懂UML 类图
转载 2018-03-04 22:09:30 · 479 阅读 · 0 评论 -
JAVA 架构知识分享
1.源码分析专题详细介绍源码中所用到的经典设计思想,看看大牛是如何写代码的,提升技术审美、提高核心竞争力。帮助大家寻找分析源码的切入点,在思想上来一次巨大的升华。知其然,并知其所以然。把知识变成自己的2.分布式架构互联网时代,系统架构如何迎接高并发流量的挑战。而作为技术开发者,如何去应对技术变革带来的技能危机。基于传统架构到分布式架构演变过程所带来的技术变革进行全面深入讲解。在技术深度和技术广度上...转载 2018-03-04 21:48:01 · 368 阅读 · 0 评论 -
MyEclipse:详细使用教程
第一部分MyEclipse的基本使用一.提示:MyEclipse的透视图按钮:可以切换不同的透视图(位于右上角)1.建立一个工程----File—new—project---选项含有Javaproject,webproject等等—输入工程名字如myproject,其他可以选择默认—完成2.创建一个Java文件---myproject—右键—new---SourceFolder(还有class,p...转载 2018-03-09 18:02:14 · 12436 阅读 · 1 评论 -
java基础学习-(1)面向对象
目录一. 面向过程的思想和面向对象的思想二 .简单理解面向对象三、面向对象的设计思想四、对象和类的概念五、如何抽象出一个类?六、类(对象)之间的关系七、Java与面向对象八、为什么使用面向对象编程?一、面向过程的思想和面向对象的思想 面向对象和面向过程的思想有着本质上的区别, 作为面向对象的思维来说,当你拿到一个问题时,你分析这个问题不再是第一步先做什么,第二步再做什么,这是面向过程的...转载 2018-03-09 16:31:58 · 302 阅读 · 0 评论 -
Java中的时间和日期(下)
转载请注明出处:http://blog.csdn.net/wl9739/article/details/51882913在上篇文章Java中的时间和日期(上)里面,简单介绍了Java中的Date类,Calendar类以及用于格式化的SimpleDateFormater类。使用这些的时候我们会明显地感受到其中的不便之处,比如,Calendar类的月份是从0开始计数的;日期格式输出不够友好,很多情况下...转载 2018-03-08 22:52:52 · 386 阅读 · 0 评论 -
Java中的时间和日期(上)
自从JDK 1.0开始,Java就提供了Date来处理时间和日期,作为老古董自然有很多东西是过时的。然后出现了Calendar来解决了很多问题,但是Calendar使用比较复杂,并且有些反人类的地方。直到Java 8的出现,它吸收了Joda-Time库的经验,使得Java处理时间和日期变得比较”人性化”了。本篇就来谈谈Java中的Date、Calendar,以及SimpleDateFormat的使...转载 2018-03-08 22:51:01 · 351 阅读 · 0 评论 -
JAVA 日期时间类使用方法
相关类Date: Date表示特定的瞬间,精确到毫秒,Date中的相应方法已废弃,从JDK 1.1开始,应该使用Calendar类实现日期和时间字段之间转换。 DateFormat: DateFormat是日期/时间格式化子类的抽象类,格式化并解析日期或时间,可以进行日期 -> 文本 ,文本-> 日期的转换。子类SimpleDateFormat。 Calendar: Calendar是...转载 2018-03-08 22:48:11 · 1433 阅读 · 0 评论 -
Java:一步步带你深入了解神秘的Java反射机制
Java:一步步带你深入了解神秘的Java反射机制· 前言在 Java中,反射机制(Reflection)非常重要,但对于很多开发者来说,这并不容易理解,甚至觉得有点神秘 今天,我将献上一份 Java反射机制的介绍 & 实战攻略,希望你们会喜欢。 目录1. 简介 定义:Java语言中 一种 动态(运行时)访问、检测 & 修改它本身的能力 ...转载 2018-07-17 08:38:07 · 493 阅读 · 0 评论 -
六张图|教开发者该如何应对“中年危机”
六张图|教开发者该如何应对“中年危机”第一步:源码分析看看大牛是如何写代码的,提升技术审美,提升核心竞争力。(重点)第二步:工程化工欲善其事必先利其器,不管是小白,还是资深开发,都需要先选择好的工具,提升开发效率和团队协作效率,让自己有更多的时间来思考。第三步:分布式从深度到广度的完善自己的知识体系,准备迎接高并发大数据的挑战第四步:微服务绕微服务的通用模式,学习spring Cloud的常见用法...转载 2018-07-11 09:17:30 · 359 阅读 · 0 评论 -
JAVA(1)-----JAVA基础知识
面向对象的特征抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。比如,我们要设计一个学生成绩管理系统,考察学生这个对象时,我们只关心他的班级、学号、成绩等,而不用去关心他的身高、体重这些信息。抽象包括两个方面,一是过程抽象,二是数据抽象。过程抽象是指任何一个明确定义功能的操作都可被使用者...转载 2018-07-11 09:21:21 · 373 阅读 · 0 评论 -
Eclipse教程(3)--- 修改字符集
Eclipse 修改字符集默认情况下 Eclipse 字符集为 GBK,但现在很多项目采用的是 UTF-8,这是我们就需要设置我们的 Eclipse 开发环境字符集为 UTF-8, 设置步骤如下:在菜单栏选择 Window -> Preferences -> General -> Workspace -> Text file encoding,在 Text file...转载 2018-07-26 18:01:44 · 265 阅读 · 0 评论 -
Java架构师知识体系汇总
Java架构师知识体系汇总 源码分析常用设计模式Proxy代理模式 Factory工厂模式 Singleton单例模式 Delegate委派模式 Strategy策略模式 Prototype原型模式 Template模板模式Spring5beans接口实例化 代理Bean操作ContextIoc容器设计原理及高级特性 Aop设计原理 Factory...转载 2018-07-20 09:12:59 · 415 阅读 · 0 评论 -
Java架构师必须知道的 6 大设计原则
Java架构师必须知道的 6 大设计原则在软件开发中,前人对软件系统的设计和开发总结了一些原则和模式, 不管用什么语言做开发,都将对我们系统设计和开发提供指导意义。本文主要将总结这些常见的原则,和具体阐述意义。开发原则面向对象的基本原则(solid)是五个,但是在经常被提到的除了这五个之外还有 迪米特法则和合成复用原则等, 所以在常见的文章中有表示写六大或七大原则的; 除此之外我还将给出一些其它相...转载 2018-07-07 10:59:54 · 830 阅读 · 0 评论 -
Java(4)---Java 对象和类
Java 对象和类Java作为一种面向对象语言。支持以下基本概念:多态 继承 封装 抽象 类 对象 实例 方法 重载本节我们重点研究对象和类的概念。对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。 类:类是一个模板,它描述一类对象的行为和状态。下图中男孩女孩为类,而具体的...转载 2018-07-23 17:25:04 · 299 阅读 · 0 评论 -
JAVA 学习线路
JAVA必须的具备的几个条件:第一:目标,坚持下去的一颗心,因为学习JAVA不容易,而且现在转行的也多,工资高,最后能拿高薪的都是刚开始没日没夜的熬过来的,所以坚持非常重要,而为什么学习JAVA成了主要因素,就是坚持下去的动力,比如:挣钱就是动力。第二:学习能力。什么是学习能力,就是当一个陌生东西给你了,是否有学习他的欲望,自己琢磨的心思,学习能力非常重要,如果一个人没有学习能力的话,任何东西都很...转载 2018-03-08 22:32:20 · 520 阅读 · 0 评论