自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

翱翔云端的专栏

积小流以成江海,学会分享,利己利人。

  • 博客(44)
  • 资源 (5)
  • 收藏
  • 关注

原创 循环队列的Java简单实现

基本概念队列:一种先进先出(First In First Out,FIFO)的数据结构。其来自于我们日常生活中的排队问题,排在前面的先获得服务。循环队列:长度固定的队列。其优势是循环利用内存资源,入队和出队都是O(1)的时间复杂度。通常,我们使用一个数组来实现循环队列,对头通过front指针标记,对尾通过tail指针标记。当front = tail时,队列为空;当tail + 1 = head...

2019-09-20 16:19:15 384

原创 java.util.zip.ZipInputStream读取zip文件采坑记录

问题描述最近做个东西,需求是这样的。web端上传一个zip的Java应用部署包到Linux服务器上的指定目录下,我负责后端。zip包目录结构是这个的:· conf # 该目录下存放app配置文件· lib # 该目录下存放app用到的jar包需求很简单,于是开始实现,主体代码也就是下面这样子。byte[] buf = new byte[1024];try (ZipInputStre...

2019-09-09 21:15:56 4431 1

原创 Java开发的30点心得

本文为自己在写Java代码中积累的一些心得,今天拿出来分享,不妥之处,请不吝赐教!若你有好的idea,也请评论区说说,我一并加上。通用(General)1.虽然有JVM帮你回收内存,但这不等于内存就不会溢出。请慎重new对象,能够复用就复用吧,new那么多对象,即使JVM及时帮你回收了,性能也是个大问题,更何况“JVM及时帮你回收”就是个不靠谱的假设。 2.有些时候,GC(Garbage Coll

2017-10-27 09:42:59 436

原创 写给小白的编程入门Tips

本文首发在我的简书账号上,原文 如何开始编程?我也不知道,我只知道我高中毕业时还没怎么接触过计算机,感觉那玩意儿很厉害,什么都可以干!大学选了计算机专业,然后逼自己一把,就慢慢会了,如今也是个全职程序员了(光阴似箭啊)。这期间,有懵逼,痛苦,迷茫,欣喜……艾玛,五味杂陈啊!所以珍爱生命,内心经不起波澜就不要轻易尝试了,编程这种事还是交给那群“非生物”——程序员吧。 现在仔细想想,编程其实还是有套

2017-10-24 10:55:04 469

原创 大数据计算的四支精干队伍,你造吗

本文首发在我简书的账号上,原文地址:http://www.jianshu.com/p/7a875e09d4e1《易经·系辞》有云:“形而上者谓之道,形而下者谓之器”。同理,任何技术都可以从道和器的角度去解读,一门技术,只知道器不知道道,走不远,只知道道而不知道器,啥也干不了,只能空口吹牛逼!谈及大数据时亦如此,本文着重道的层面。总览国内大数据这词比较火是从2012年左右开始的,从那

2017-09-07 19:31:09 594

原创 Storm实时大数据处理(三)

本文主题:构建和运行Storm拓扑(Build and Run Storm Topology)一、构建Storm拓扑实现了Spout和Bolt后,就可以构建Storm拓扑了,使用TopologyBuilder构建Topology。TopologyBuilder builder = new TopologyBuilder();之后就可以使用builder对象构建拓扑了,使用setSpou

2017-07-28 17:00:46 723

原创 MATLAB图像变换

一、综述图像变换可以分为正交变换(积分变换)和几何变换两种。积分变换主要有离散傅里叶变换、离散余弦变换、小波变换等,其基本思想就是将图像信号从空间域变换到频率域。为什么要这样处理呢?目的是简化问题的求解。举个例子,要在空间域中做卷积运算,其难度相当大,但是通过离散傅里叶变换,可以将空间域中的卷积运算转化为频率域中的乘法运算,化繁为简。所以,求解这类问题的一般思路是:1)从空间域转化到频率域

2017-04-17 19:42:58 5281

原创 跑步与代码,二者兼可得

一、跑步的原动力在哪里出生于计算机专业,还没有毕业,早早就走上了码农之路,时常沉迷于写代码,只为写得更简洁,更优雅。这不,大四上学期来到了一家还过得去的公司实习,参与Java Web开发工作,挑战和机遇并存,自我感觉不错!实习到了第4个月的时候,学校里有2门课要交论文了,加之需要处理毕业设计相关的琐事,公司的项目任务也不轻,于是自己很拼,白天公司上班,晚上回学校处理学校的事情,周末继续处理学校

2017-04-04 19:54:14 763

原创 Linux关机和重启命令

1.shutdown命令命令功能:安全关闭或者重启系统命令语法:shutdown [选项] 时间常用选项:-c:取消前一个关机命令-h:关机-r:重启执行条件:需要root用户权限举例:[root@localhost ~]# shutdown -h now #立即关机更多选项和用法,执行shutdown --help或者man shutdown或者inf

2017-01-07 17:52:19 533

原创 我的编程马拉松

时光荏苒,本科四年就快到终点站了。大学三年多了,我做了什么?思考了许久,总结起来,自己就跑了一场编程马拉松。这场马拉松起点在大一,终点在未来。这场马拉松将贯穿我职业生涯的始终。起步,入门C相信很多选择计算机专业人都是报着美好愿望来的,谁让这个名字听起来那么高大上呢,我也不例外。这不,和很多选择计算机专业的同学一样,我怀着对计算机的美好愿望选择了这个专业。在不知天高地厚的我看来,计算机几乎和

2016-11-17 21:55:24 1871

原创 Storm实时大数据处理(二)

在上一篇博客(Storm实时大数据处理(一))中,我介绍了Storm的基本概念和原理,本文我们开始基于Storm提供的API开发自己的应用程序。入门开发Storm应用程序很简单,这得益于设计者为我们精心设计的简单API。一、搭建开发环境在生成环境中,Storm集群运行在基于Linux操作系统的分布式集群中,可喜的是,Storm提供了本地模式(Local Mode)来方便开发者开发Storm

2016-08-29 10:32:52 4092

原创 Storm实时大数据处理(一)

自从Google发表了3篇举世瞩目的论文(Google File System、BigTable和MapReduce)以后,大数据被引爆了。如果说计算机的威力相当于一枚大炮的威力的话,那么互联网的威力相当于一颗原子弹,而大数据的威力则相当于氢弹,大数据成为了IT发展史上的又一次浪潮,处于这个圈内的我们怎能错过?时至今日,基于Google的3篇论文及后续研究,大数据处理架构如雨后春笋般涌现而出,

2016-08-25 21:19:55 6702

原创 探秘Java字符串桃花源

字符串,顾名思义,就是一连串的字符序列,如果单个字符是一颗珠子的话,字符串就是靠一根线连接起来的若干珠子的集合,您拿着这根线,就拿到了线上的珠子。在不同编程语言中,这根线的具体形式有所不同,但是思想都是一样的。在C语言中,字符串是通过字符数组或字符指针来存储的,因此这根线就是指针,即指向若干珠子集合的内存地址;在C++中提供了专门的字符串类string,此时这根线就是指向string对象的指针,在

2016-08-19 19:42:19 1184 1

原创 Tomcat端口占用解决方法

运行环境Windows 7一、症状Tomcat端口占用的症状是直接启动Tomcat(运行startup.bat)闪退,或者在Eclipse中运行时出现图1-1的症状:图1-1从上图可知,Tomcat运行所需要的端口8005、8009、8080被占用,那么是哪个家伙这么大胆,敢占用你的这三个端口呢?二、开处方按住windows+R键,输入cmd,进入dos环境,输

2016-07-31 16:10:41 590

原创 JDBC连接Oracle数据库实例

本文给出一个通过JDBC连接Oracle数据库的实例,希望对JDBC初学者有所帮助。我没有像很多例子那样一个函数就把整个JDBC的操作全部完成,这样的代码在企业的项目开发中一般是不能通过审核的,我现在工作的公司就对代码规范有严格要求。在企业工作中,对函数的编码有严格规范,“一个函数,只做一件事”,这就意味着你不能在一个函数里面做很多事情,所以需要拆分,另外,一个函数的代码行数也是有严格要求的,一般

2016-07-30 16:18:58 7022

原创 MATLAB中矩阵及其运算

矩阵是MATLAB最基本、最重要的数据对象。单个数据(标量)可以看成是矩阵的特例。所有MATLAB中的矩阵数据都按列存放。一、矩阵的建立1.直接输入法  * 将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔。  * 矩阵元素可以是运算表达式。  * 若“[  ]”中无元素表示空矩阵。

2016-07-09 21:25:00 3629

原创 计算机与经济学:天造地设的一对

计算机与经济学有啥关系?IT男与金融妹有啥关系?你知道吗?或者在金融行业做软件开发N年的你考虑过这个问题吗?在只学计算机专业课之前,我也不知道,可是学了经济学的部分专业课之后,我开始考虑这个问题,下面把我的一些想法和各位分享一下,欢迎补充和完善!首先告诉你我的看法:计算机和经济学是天造地设的一对!下面具体说说。一、二者体系结构类似世人皆知的计算机体系结构可以从硬件和软件两个方向进行观察

2016-06-14 11:09:33 8917

原创 MATLAB数据拟合工具在数学建模中的运用

1.问题描述下表是中国有国家统计局《50个城市主要食品平均价格变动情况》整理得到的2016年1月到5月豆角价格数据表,请建立数学模型解决下来两个问题:(1)豆角价格有什么特点?(2)对6月份豆角价格变化。月份                                     一月

2016-06-05 19:53:22 7115 1

原创 TCP/IP网际互联

上一篇提到OSI/RM网际互联,该模型只是理论上的模型,而实际的计算机网络产品——当前的Internet,使用的不是OSI/RM模型,而是TCP/IP模型。1. OSI/RM模型与TCIP/IP模型的对应关系2. TCP/IP协议簇一览2.1 TCP/IP应用层2.2 TCP/IP主机到主机层TCP协议头部UDP协议头部

2016-05-30 21:04:35 1119

原创 OSI网际互联

1.什么是计算机网络2.OSI/RM模型2.1 OSI/RM七层模型2.2 应用层2.3 表示层2.4 会话层2.5 传输层2.6 网络层2.7 数据链路层2.8 物理层3. OSI/RM数据传输过程3.1

2016-05-30 20:32:56 675

原创 C语言还可以这样用?

网上看到大牛用C语言画了一朵鲜艳的玫瑰,自己尝试去编译了一下,运行结果不错!原来的代码可读性不太好,自己整理了一下,下面是整理后的结果,需要的直接拿过去,不用谢!或许你可以送给她。////////////////////////////////////////////////////////////////////// 程序名称情人节的玫瑰// 编译环境VC6.0 / VC2010E

2016-05-28 13:50:32 775

原创 The C Programming Language——Exercise solutions of the chapter one (1st)

Recently,I have been reading the book The C Progrmming Lanuage(2nd Edition),which written by Dennis M.Ritchie and Brian W.Kernighan.The are many useful and elegant exercises in the book.Here is my s

2016-05-04 21:26:03 4947

原创 Linux成神第一步——VI编辑器的使用

都说Linux会不会,就看VI会不会,可见VI编辑器在Linux操作系统使用过程中的重要性!下面来学学这高大上的玩意儿。据说,如果你在VI编辑器下编辑文本如行云流水一般轻松自如的话,你会有龙入大海的感觉,雇主的火眼金睛也会顿时发光。VI全称Visual Interface,也就是可视化接口,她是Linux的标配,所有Linux操作系统中都有她的影子,就像Windows中的记事本一样。Linux

2016-04-24 19:22:26 5039

原创 重定向和管道——让Linux如虎添翼

Linux操作系统设计了重定向和管道,让“组合”的威力硕大无比,这是Windows无法比拟的,废话少说,下面看看几个例子。首先利用vi编辑器写个简单的C程序吧,就叫avg.c吧,如下图所示。程序逻辑很简单,就是输入sum和n然后输出sum/n的值。下面编译、运行一把,如下图所示。接下来见识一下重定向的威力,可以将标准输出重定向到一个文件中,如下图所示。图中用./av

2016-04-23 20:13:25 2863

原创 C++语言对C语言的扩充

1.新的数据类型bool2.新的变量初始化方法,int x(1024);等价于int x = 1024;3.变量随用随定义4.IO方法,不用关注占位符,不用关注数据类型,不易出错。下面的几幅图展示了这种区别。5.命名空间namespace目的:解决标识符冲突,相当于Java中的package6.引用类型

2016-04-22 19:08:40 2217

原创 编码问题

在Java项目开发中,经常遇到乱码问题,特别是中文乱码,这是由于编码问题。1.当你的字节序列是某种编码时,这个时候想把字节序列变成字符串,也需要用这种编码方式,否则会出现乱码;2.文本文件就是字节序列,可以是任意编码的字节序列,如果我们在中文机器上直接创建文本文件,那么该文本文件只认识ansi编码。现在总结一下常见编码方式。另外,UTF-16LE的中英文字节数和UTF-16BE一样编码

2016-04-18 22:34:48 403

原创 图片述说JVM运行时的故事(下)

2016-04-17 16:38:24 553

原创 图片述说JVM运行时的故事(上)

2016-04-17 16:28:11 1820

原创 Java中的字符串类

Java中的字符串类有String类、StringBuffer类和StringBuilder类,理解其含义对开发高性能程序很有帮助!1.String类一旦创建对象后,大小不能再改变,别看表面上可以改变,实际上,它是通过新建对象来实现的,所以会产生垃圾内存,频繁改变,开销会不小。2.StringBuffer类和StringBuilder类可变字符串类,大小可变,当值改变时,就在原

2016-04-11 22:37:31 519

原创 Java基本数据类型的数据转化为字节数据的方法

在使用Java的字节I/O流时,有时需要进行基本数据类型的数据与字节数据之间的转化,以下是转化方法。// Convert.javapublic classConvert {  /**   * 将short类型转化为byte[]数组   *    * @param id   * @return   */  public static byte[] sh

2016-04-11 15:40:03 1036

原创 面向对象三大特性

一、封装1.概念将类的某些信息隐藏在类内部,不允许外包程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。2.好处a.只能通过规定的方法访问数据,便于安全控制b.隐藏类的实现细节,方便修改与实现3.实现1.修改属性访问权限为private2.提供setter和getter方法二、继承继承就是让子类具有父类的属性和方法,是实现代码复用的重要方式之

2016-04-11 13:22:57 485

原创 深入理解Java变量

一、总述形象地说,变量就是一个盒子,我们可以往里面放东西。专业的说法,变量是操作系统分配给我们使用的一块内存的名字,通过她,我们可以对数据实现按名存取。变量的三要素:变量类型、变量名字和变量值,定义变量时应使用一个好的名字,达到见名知义的效果。二、Java中的变量Java中的变量分为三类:实例变量(instance varible)、局部变量(local varible)和类变量(cl

2016-04-10 22:37:26 1215

原创 理解磁盘分区

硬盘分区的目的:方便系统的高效管理和资源的有效使用,可以类比国家搞行政区划。举个例子,如果磁盘不进行分区,那么查找文件时查找的数据量将会非常大,查找效率极低。一、磁盘分区类型1.主分区:最多只能有4个为什么只能是4个,因为一块磁盘大小是512B,使用446B存放用户数据,剩余64B作为分区表示,所以只能是4个。2.扩展分区:最多只能有一个;主分区加扩展分区最多有4个;

2016-04-08 19:57:01 889

原创 Linux简介

简单地说,Linux是一套免费使用和自由传播的类Unix操作系统。这个系统是由世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。一、Linux发展史1.Linux的由来Linux是芬兰赫尔辛基大学大三的学生Linus Torvalds以Minix作为模板,自己开发的操作系统。最早发布时间是在1991年,到现在为止也

2016-04-08 07:34:00 540

转载 C语言之malloc()函数

【FROM MSDN && 百科】原型:  void *malloc(unsigned int size);#include或#include malloc的全称是memory allocation,中文叫动态内存分配,当无法知道内存具体位置的时候,想要绑定真正的内存空间,就需要用到动态的分配内存。malloc 向系统申请分配指定size个字节的内存空间(连

2016-04-07 17:56:08 598

转载 c语言中realloc()函数解析

真是有点惭愧,这些内容本应该很早就掌握的,以前只是糊里糊涂的用,不知道在内存中具体是怎么回事,现在才弄清楚。realloc(void *__ptr, size_t __size):更改已经配置的内存空间,即更改由malloc()函数分配的内存空间的大小。如果将分配的内存减少,realloc仅仅是改变索引的信息。如果是将分配的内存扩大,则有以下情况:1

2016-04-07 11:42:31 583

原创 编程实现顺序表的基本操作

void InitList(SqList &L)//建立空顺序表函数voidListInsert(SqList &L, int i, ElemType e) //在顺序表中第i个位置插入元素函数e void ListDelete(SqList &L, int i, ElemType &e)//删除顺序表L的第i个数据元素,并用e返回其值。 void Pr

2016-04-07 11:18:01 8626

原创 操作系统概论总结

1.操作系统角色:管理者、魔术师和服务者2.操作系统资源管理技术:复用、虚拟和抽象  >复用:空分复用共享  时分复用共享  >虚拟:把少变多  把多变少  >操作系统中的基础抽象:进程抽象、虚存抽象和文件抽象3.操作系统功能和特性  >功能:处理器管理  存储管理  设备管理  文件管理  联网与通信管理  >特性:并发性  共享性  异步性(随机性)4.操作系统

2016-04-06 10:12:52 674

原创 用Java实现周易算卦

一、源代码/** * 摇一卦:根据周易原理实现算卦 *  * @author YangYong * */import java.awt.Font;import java.awt.GridLayout;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.aw

2016-04-06 09:25:02 4118

原创 用Java实现线性表的顺序存储结构

本文使用Java实现线性表的顺序存储结构,虽然Java提供了动态数组ArrayList,但是自己动手做做上不一样的,欢迎交流想法!一、源代码在Eclipse中新建一个Java project,包括两个java源文件,SqList.java和SqListTest.java。/** * 线性表的动态分配顺序存储结构 *  * @author YangYong * */

2016-04-05 22:20:43 4126 3

MATLAB7.0基础教程pdf扫描件

MATLAB7.0基础教程pdf扫描件 清华大学出版社

2016-06-07

2016年南京农业大学数学建模题目

2016年南京农业大学数学建模题目

2016-06-07

Cisco Packet Tracer5.3 Tutorial

这是Cisco Packet Trace5.3 使用教程(英文版),希望对各位有帮助。之前在网上搜索,结果发现很多链接都是挂羊头卖狗肉……

2016-05-14

编译原理实践——语法分析程序的自动生成工具YACC

语法分析程序的自动生成工具YACC相关知识介绍。

2016-04-06

编译原理实践——词法分析程序的自动生成器LEX

词法分析程序的自动生成器LEX相关知识介绍。

2016-04-06

空空如也

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

TA关注的人

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