
Java
Hyo_yew
Stay hungry ,Stay foolish.
展开
-
将文件转化位64位编码字符串
/** * 将文件转成base64 字符串 * * @param path 文件路径 * @return * * @throws Exception */ public static String encodeBase64File(String path) { File file = new File(pat...原创 2019-10-14 15:54:15 · 678 阅读 · 0 评论 -
数据结构之图形结构二
图形的遍历图形遍历的方法有两种:深度优先遍历和广度优先遍历深度优先遍历有点类似于前序遍历:从图形的某一点开始遍历,被访问过的顶点就做上已访问的记号,接着遍历此顶点的所有相邻且未访问过的顶点中的任意一个顶点,并做上已访问的记号再已该点为新的起点继续进行深度优先的搜索。注意了:这种图形遍历方法结合了递归和堆栈两种数据结构的技巧。广度优先遍历遍历方式是以队列和递归技巧来遍历,也是从图形的某一顶点开始遍历...原创 2018-04-21 21:55:54 · 678 阅读 · 0 评论 -
Cookie和Session的区别及使用
转载自:理解Cookie和Session的区别及使用 - 优快云博客 https://blog.youkuaiyun.com/liyifan687/article/details/80077928 前言HTTP是一种无状态的协议,为了分辨链接是谁发起的,需自己去解决这个问题。不然有些情况下即使是同一个网站每打开一个页面也都要登录一下。而Session和Cookie就是为解决这个问题而提出来的两个...转载 2018-09-08 09:20:38 · 267 阅读 · 0 评论 -
Ant和Maven的区别
Ant和Maven都是基于Java的构建(build)工具。理论上来说,有些类似于(Unix)C中的make ,但没有make的缺陷。Ant是软件构建工具,Maven的定位是软件项目管理和理解工具。 Ant特点没有一个约定的目录结构必须明确让ant做什么,什么时候做,然后编译,打包没有生命周期,必须定义目标及其实现的任务序列没有集成依赖管理 Maven特点 拥有约定,知道...原创 2018-09-05 14:55:31 · 1101 阅读 · 0 评论 -
一道线程题
解析:虽然每次结果不同,但是第一个空格之前必然有 0 1 2 3 4 这四个数字,这是因为第一个空格出现,意味着第一个线程执行完毕,必然会打印这四个数字。又因为线程并发执行,所以后面两个线程个别数字可能会提前打印,这就导致了答案有很多。...原创 2018-09-05 15:08:42 · 212 阅读 · 0 评论 -
关于Java中的重载
方法的重写(override)两同两小一大原则:方法名相同,参数类型相同子类返回类型等于父类方法返回类型,子类抛出异常小于等于父类方法抛出异常,子类访问权限大于等于父类方法访问权限。 详细的说明为:重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。 即外壳不变,核心重写!重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说...原创 2018-09-05 15:11:17 · 283 阅读 · 0 评论 -
有关forward和redirect的描述
1.从地址栏显示来说forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL. 2.从数据共享来说forward:转发页面和转发到...转载 2018-09-05 15:13:43 · 203 阅读 · 0 评论 -
JVM学习
转载自:https://blog.youkuaiyun.com/zhaocuit/article/details/73826256 一、jvm内存区域1、程序计数器内存空间小 线程私有 指示当前线程执行字节码的行号 如果执行本地方法,计数器值为空 不会出现OutOfMemoryError2、虚拟机栈线程私有 每个方法执行的同时会创建一个栈帧,栈帧存储局部变量表、操作栈、动态...转载 2018-09-08 15:18:27 · 201 阅读 · 0 评论 -
JVM 类加载机制详解
原文出处: ziwenxie如下图所示,JVM类加载机制分为五个部分:加载,验证,准备,解析,初始化,下面我们就分别来看一下这五个过程。加载加载是类加载过程中的一个阶段,这个阶段会在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的入口。注意这里不一定非得要从一个Class文件获取,这里既可以从ZIP包中读取(比如从jar包和war包中读取)...转载 2018-09-10 23:52:43 · 205 阅读 · 0 评论 -
堆和栈的概念和区别
来自 :https://blog.youkuaiyun.com/pt666/article/details/70876410 在说堆和栈之前,我们先说一下JVM(虚拟机)内存的划分: Java程序在运行时都要开辟空间,任何软件在运行时都要在内存中开辟空间,Java虚拟机运行时也是要开辟空间的。JVM运行时在内存中开辟一片内存区域,启动时在自己的内存区域中进行更细致的划分,因为虚拟机中...转载 2018-09-11 00:16:45 · 204 阅读 · 0 评论 -
IDEA maven 下载依赖jar包失败的解决思路
IDEA maven 下载依赖jar包失败的解决思路转自:https://blog.youkuaiyun.com/u011624972/article/details/72458414 情况一:下载nexus私服(或镜像)下的jar ,如果发布到nexus服务的jar时,IDEA无法下载下来,首先 确定自己的电脑能访问私服(或镜像)其次 确定私服(或镜像)下已经有相应的依赖jar最后 ...转载 2018-09-29 09:31:23 · 1692 阅读 · 0 评论 -
java加密与安全
Java安全(加密、摘要、签名、证书、SSL、HTTPS) - 风中小郎君 - 博客园 https://www.cnblogs.com/chenzhanxun/articles/4630743.html原创 2018-10-08 17:55:53 · 368 阅读 · 0 评论 -
java操作json和xml
JSON知识复习 - hyz_116的专栏 - 优快云博客 https://blog.youkuaiyun.com/hyz_116/article/details/44863199原创 2018-10-08 17:58:10 · 221 阅读 · 0 评论 -
Java字符串为空的判定
Java字符串为空的判定材料来源于:http://www.cnblogs.com/ayan/p/3524816.html一、判断一个字符串str不为空的方法有: 1、str == null; 2、"".equals(str); 3、str.length <= 0; 4、str.isEmpty(); 注意:length是属性,一般集合类对象拥有的属性,取得...转载 2018-10-09 15:18:18 · 558 阅读 · 0 评论 -
后端开发三大技术
微服务微服务的具体特征官方的定义:1、一些列的独立的服务共同组成系统2、单独部署,跑在自己的进程中3、每个服务为独立的业务开发4、分布式管理5、非常强调隔离性大概的标准:1、分布式服务组成的系统2、按照业务,而不是技术来划分组织3、做有生命的产品而不是项目4、强服务个体和弱通信( Smart endpoints and dumb pipes )5、自动化运维( De...原创 2019-03-07 14:09:53 · 9371 阅读 · 0 评论 -
error:Application Server was not connected before run configuration stop, reason: Unable to ping ser
1. 换端口有些人说是端口被占用了,换了一个就可以了,不过我自己试了下,貌似没用2.JVM的内存不够这个我感觉可能性不大,事实也证明至少我这个不是这个错下面就是我这一次出现问题的真正原因:3.java环境没有配置Tomcat是需要jre的,如果你的JAVA_HOME没有配置,那肯定是起不来的不过我的java环境是配置过的,但是这个IDEA很奇怪,不止要JAVA_HOME...转载 2019-07-29 16:55:42 · 424 阅读 · 0 评论 -
在win10中安装并配置多个JDK不同的版本
链接:https://blog.youkuaiyun.com/lzf1759891062/article/details/78508540转载 2019-07-29 17:02:44 · 543 阅读 · 0 评论 -
常见的查找算法
常见的查找算法顺序查找( O(n) ):当数据量很大的时候,不适合使用顺序查找法。二分查找(O(log 2 .n)):二分法必须事先经过排序,且数据量必须能直接在内存中执行: 此方法适合用于不需要增删的静态数据插值查找法(二分查找的改版)按照数据位置的分布,利用公式预测数据的所在位置,再以二分法的方式渐渐逼近。此算法的时间复杂度取决于数据的分布状况平均而言由于O(log2(n)),一般而言,插值查...原创 2018-04-21 16:26:04 · 247 阅读 · 0 评论 -
数据结构之图形结构
拾遗首先,最近的牛客上的图的笔试拾遗图形表示法和一些基本概念:邻接矩阵,邻接表(还有相邻多元列表法,常用来处理无向图;索引表格法)一共四种。邻接矩阵存储空间为n平方 所以只和顶点个数有关 ,邻接表是n加e路径:顶点v 到vi 的路径,是一个顶点序列。**1、路径是顶点序列因此C肯定不对; 2、只有简单路径,路径才是有不同顶点所形成的序列。否则顶点可能会有重复,如简单回路的路径,起始和终点肯定相同。...原创 2018-04-21 16:25:27 · 6181 阅读 · 0 评论 -
5.异常处理的陷阱
日常开发中我们无法回避对异常的处理,Java的异常处理有一些令人模糊的地方,详情见下:正确关闭资源在实际的开发中,经常需要在程序中打开一些物理资源,如数据库连接,网络连接,磁盘文件等,打开这些物理资源后必须显示关闭资源,否则将造成资源泄漏finally{ if(oos 1= null) { try{ os.close(); ...原创 2018-04-20 10:28:04 · 244 阅读 · 0 评论 -
java之集合框架
简介:Java的集合框架是一组使用很方便的接口和类。这组接口和类就在java的公有程序库中(utiltities),称为容器类或者集群类,它们给出了精巧的实现。Java的集合框架一般包括{ 接口 类 算法}接口:譬如Collection接口,List接口,Set接口,Map接口。需要注意的是:集合框架容器的元素类型都为Object.从容器中取得元素时必须把它转化成原来的类型。实现类:譬...原创 2018-03-10 11:31:11 · 186 阅读 · 0 评论 -
JAVA中如何将char[]数组转化为String
JAVA中如何将char[]数组转化为String? 一,直接在构造String时建立。如下:char d[] = {'s', 'h', 'a','n','g'}; String str = new String(d);二,.String自身封装的函数方法可以直接转换。如下:String.valueOf(char[] c)eg: char[] c = {'s','h','a','n','g'};...原创 2018-03-13 16:31:27 · 5045 阅读 · 0 评论 -
Java之随机数/时间/Math类
随机数 Randoma) nextInt()public int nextInt(int n)该方法的作用是生成一个随机的int值,该值介于[0,n)的区间,也就是0到n之间的随机int值,包含0而不包含n。 /** * 熟悉Random 的用法 * */ public static void adds(){ ArrayList<Long>...原创 2018-03-23 22:02:57 · 747 阅读 · 0 评论 -
1.Java的内存回收
大致内容,如下所示:》JVM在何时决定回收一个Java对象所占用的内存?》JVM会不会漏掉回收某些Java对象,使之造成内存泄漏?》JVM回收 lava对象所占用内存的实现细节。》JVM能否对不同的Java对象占用的内存区分对待、回收?》常见垃圾回收机制的实现细节是怎样的?***************************************************************...原创 2018-04-14 21:50:09 · 332 阅读 · 0 评论 -
数据结构之线性表
线性表实现分析线性表的顺序和链式各有优势空间性能:顺序列表:顺序表的存储空间是静态分布的,因此需要一个长度固定的数组,总有部分数组会被浪费链表:链表的存储空间是动态分布的,因此空间不会被浪费。但由于链表需要额外的空间来为每个节点保存指针,因此也需要浪费一部分空间时间性能顺序表:顺序表中元素的逻辑顺序与物理存储顺序保持一致,而且支持随机存取,因此顺序表在查找和读取时性能很好链表:链表采用链式的结构来...原创 2018-04-15 11:12:09 · 189 阅读 · 0 评论 -
数据结构之常用的内部排序
写在前面对于一个排序算法来说,一般从如下三个方面来衡量算法的优劣:》时间复杂度:主要是分析关键字的比较次数和记录的移动次数》空间复杂度:分析排序算法需要多少辅助内存》稳定性:若两个记录A和B的关键字相等,但排序后A,B的先后次序保持不变,则称这种排序算法是稳定的;反之就是不稳定的。排序分为内部和外部排序的依据是:如果整个排序过程不需要借助于外部存储器,所有排序操作都放在内存中完成,则为内部排序常用...原创 2018-04-15 11:36:31 · 390 阅读 · 0 评论 -
数据结构之树与二叉树
树与二叉树树是一种非常常用的数据结构,尤其二叉树的应用更是广泛,哈夫曼树及哈夫曼编码就是二叉树的重要用途,排序二叉树,平衡二叉树,红黑树在实际编程中都有极其广泛的用途,例如,Java集合框架的TreeMap本质上就是红黑树。将介绍:》树的三种存储结构:父节点表示法,子节点链表示法,链表存储》二叉树二叉树的各种便利方式,以及三种优先遍历,和广度优先遍历》哈夫曼树,排序二叉树,和红黑树"红黑树”,它一...原创 2018-04-15 11:42:33 · 275 阅读 · 0 评论 -
数据结构之栈和队列
栈和队列栈是一种数据结构,它代表只能在某一端进行插入,删除的特殊线性表,通常只在尾部进行插入删除操作。对于栈而言,允许进行插入,删除操作的一端别称为栈顶top,另一端被称为栈底bottom栈是一种后进先出的线性表。栈的作为一种被限制的线性表,通常不会提供如下常用操作 :》获取指定索引处的元素》按值查找数据元素的位置》向指定索引处插入数据元素》删除指定索引处的数据元素即栈不应该提供从中间位置访问元素...原创 2018-04-19 12:07:57 · 331 阅读 · 0 评论 -
Java基础强化
强化计划基础原理部分:0.Java对象及其内存管理1.Java的内存回收2.Java表达式的陷阱3.Java面向对象的陷阱4.Java异常处理的陷阱数据结构部分:线性表栈和队列树和二叉树常用的内部排序推荐书目:李刚老师的《java程序员的基本修养》...原创 2018-04-13 19:57:51 · 416 阅读 · 0 评论 -
0.Java对象及其内存管理
首先:Java内存管理分为两个方面:内存分配和内存回收。这里的内存分配特指创建Java对象时JVM为该对象在堆内存里分配的内存空间;而内存回收是指:当该Java对象失去引用,变成垃圾时,JVM的垃圾回收机制会自动的清理该对象,并回收该对象所占用的内存。Java的回收机制是由一条后台线程完成,本身也是非常消耗性能的,因此如果肆无忌惮地创建对象,让系统分配内存,那么就只能依靠回收机制来回收(非程序员设...原创 2018-04-13 22:07:12 · 187 阅读 · 0 评论 -
递归和迭代的区别
原博链接:https://blog.youkuaiyun.com/swliao/article/details/5337896递归的基本概念:程序调用自身的编程技巧称为递归,是函数自己调用自己.一个函数在其定义中直接或间接调用自身的一种方法,它通常把一个大型的复杂的问题转化为一个与原问题相似的规模较小的问题来解决,可以极大的减少代码量.递归的能力在于用有限的语句来定义对象的无限集合.使用递归要注意的有两点:1...转载 2018-04-19 17:29:04 · 166 阅读 · 0 评论 -
牛课网数据结构目录
第一章复杂度估算和排序算法(上)1)认识时间复杂度和空间复杂度2)认识对数器3)冒泡排序4)选择排序5)插入排序6)如何分析递归过程的时间复杂度7)归并排序8)小和问题第二章复杂度估算和排序算法(下)1)荷兰国旗问题2)随机快速排序3)堆结构与堆排序4)认识排序算法的稳定性5)认识比较器6)桶排序7)计数排序8)基数排序9)数组排序后的最大差值问题10)排序算法在工程中的应用第三章栈、队列、链表、...原创 2018-04-19 18:43:38 · 257 阅读 · 0 评论 -
3.流程控制的陷阱
流程控制的陷阱switch语句方面的陷阱default语句会永远执行吗?不会switch 语句之后可以包含一个default分支。从字面意义上看,这个分支是默认分支,似乎是无条件执行的分支,实际上不是。default分支的潜在条件是,表达式的值与前面分支的值都不相等。也就是说,在正常情况下,只有当switch语句的前面分支没有获得执行时,default分支才会获得执行的机会break的重要性在ca...原创 2018-04-20 10:24:58 · 457 阅读 · 0 评论 -
2.表达式中的陷阱
写在前面表达式是Java程序的基本组成单元,这里有一些很容易让人出错的陷阱,例如:》当在程序中使用算术表达式时,表达式类型的自动提升,复合赋值运算符所隐含的类型转换,会给程序带来一I些潜在陷阱》jDK1.5新增的泛型支持也有些陷阱,Java为了兼容以前不用泛型的程序,因此引入了原始类型的概念,原始类型在泛型编程中很容易致错1.JVM对字符串的处理Java程序中创建对象的常见方式有如下四种:>...原创 2018-04-20 10:26:23 · 487 阅读 · 0 评论 -
4.面向对象的陷阱
Java面向对象的设计过程中也会有一些陷阱***************************************************************************************学习笔记如下:instanceof运算符的陷阱 instanceof是一个非常简单的运算符。instanceof运算符的前一个操作数通常是一个引用类型的变量,后一个操作数通常是一个类(...原创 2018-04-20 10:26:59 · 339 阅读 · 0 评论 -
java基础巩固一
1.什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?java虚拟机是可以执行Java字节码的虚拟机进程。每一个Java源文件会被编译成能被Java虚拟机执行的字节码文件。java源程序先经过javac编译器编译成二进制的.class字节码文件(java的跨平台指的就是.class字节码文件的跨平台,.class字节码文件是与平台无关的),.class文件再运行在jvm上,jav...转载 2018-03-08 21:34:01 · 237 阅读 · 0 评论