`
lsx111
  • 浏览: 13645 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论
文章列表
学了那么就java却一直不清楚java代码的运行过程,现在写篇博客,对java的执行过程做一下简单的分析。 究竟什么是java语言呢,sun给出了定义:一种简单的,面相对象,跨平台,半编译半解释,健壮,安全,性能高,多线程的动态语言。 清楚定义之后来看看java的开发流程。Java是一种高级语言,平时我们所写出来的是面对开发者的,而计算机并无法识别,我们叫它源代码,那怎样才能让计算机识别这些源代码呢。首先要利用java编译器(jdk自带的工具)将源代码转换成字节码(.c
最近一直在学习web,下面通过所做的网上购物系统来整理一下最近所学的知识以及学习过程中遇到的问题还有自己的认识。 对于一个web项目,个人觉得数据库是必不可少的,所以第一步要做的就是设计并实现数据库,而这一块 ...
常用url消重算法:    1 基于hash算法的存储    对于每个给定的url,都是用一个已经建立好的hash算法把它映射到某个物理地址上,当我们要检验某个url是否存在时只要将这个url进行hash映射,如果映射后的地址已经存在,则说明当前这个url已经存在。否则将url和它所映射的地址作为键值对放入一个hash表中,这就需要我们设计的hash函数很好,不然在映射的过程中发生较多的冲突就会对结果照成影响。另一方面,我们将url作为键,而url的字符串也浪费了比较大的空间,显然,对于较多的url消重,这种方法并不适合。    2 基于布隆过滤器算法的消重    布隆过滤器是一个非常好的数 ...
从前我们经常玩找茬游戏,我们用肉眼还是比较容易找出图片中的不同,那在电脑上,计算机是如何分辨两个图片是否相同的呢?下面根据自己的理解来分析一下它的实现过程。 在网上查找资料找到了“图片指纹”这个名词, ...
<div class="iteye-blog-content-contain" style="font-size: 14px"></div>  这个总结将对线程中的资源共享和线程同步问题进行简单的分析。线程:是进程中的一个单一的连续控制流程。一个进程可以含有多个线程,那下 ...
  Hash算法分析 学了这么久的java,但一直不知道HashCode到底是怎么回事,现在对HashCode做一下简单的分析。 java中集合分为两类,一类是List,一类是Set。前者是有序的,可以存储重复的元素,后者是无序的,不可存放重复的元素。那现在 就有一个问题,Set是怎么判断一个元素是否重复的。Object类中有个equals()方法,用它来判断一个元素是否重复,但如果每添加一 个元素就进行一次判断,那当元素过多的时候,很明显会降低效率,于是有了哈希表的原理。HashCode的方法实际上是返回了对象的地址 当存放一个元素时会调用Hashcode方法,如果返回的地址没 ...
通信中涉及的知识太多,下面主要说一下TCP与UDP的区别以及各自的优势。 同信的程序分为两种: 1.基于TCP协议:Socket,可靠的服务,通过服务器和客户端之间的通道进行通信 TCP程序需要java的两个包支持: java.net.*:主要提供网络服务 ServerSocket类:服务器端程序 Socket类:客户端程序 java.io.*:传递信息流 服务器端的建立: 步骤:1.创建一个带有绑定端口的服务器       2.等待客户端连接(此处会阻塞,这也是后面为什么要启动线程来创建客户端的原因)       3.获取流进行通信。 这是最基本的建立过程,当然还 ...
多线程游戏总结: 首先说一下什么是线程。 每个java程序都至少有一个线程----主线程。当程序启动时,JVM会创建主线程,并在该线程中调用程序的main()方法。 线程可理解为“程序内部一个独立的运行单位” 我们之前写过的代 ...
哈夫曼压缩: 进行哈夫曼压缩首先要知道什么是哈夫曼树。 哈夫曼树是最优的二叉树,最优指的是带权路径最短的树。 那么如何建立一个哈夫曼树呢? 实现步骤: 1.给定大小无序的数据,首先把数据存储起来,然后再对数 ...
二叉树总结: 树的概述 树的组成: 1.根节点 2.叶子节点 3.路径(分支) 树的深度: 从根节点开始到叶子节点的路径数最多的哪一个就是树的深度。 度: 表示一个父节点有多少个子节点。 高度: 树的深度加1 树和二叉树的区别 二叉树的每一个父节点最多只能有2个子节点。 树可以有无限个子节点。 二叉树的左子节点和右子节点是有顺序的。 二叉树的顺序是自己定义的规则。 树的遍历方式有哪几种? 前序遍历:先根,再左,之后右 中序遍历:先左,再根,之后右 后序遍历:先左,再右,之后根 层次遍历:一层一层的遍历 下面是对树的操作: ...
链表总结: 链表是一种物理单元上非连续非顺序的存储结构数据元素的逻辑顺序是通过链表中的指针域连接次序实现的。链表是由节点构成的,而节点 包括两个部分,数据域和指针域。数据域用来存储数据元素,指针域用来指向下一个节点。 链表分为三种: 单向链表,双向链表,循环链表。java中没有指针的概念,但可以引用对象,下面是对链表的操作。 单向链表的建立: 首先要创建一个链表的节点类: public class LinkNode{ private Object obj;     //链表中存储的数据 private LinkNode next; //对下一个节点的引用 private ...
File 类位于java.io包中,File对象的方法有创建文件,删除文件,判断列表下的文件是目录还是真实文件。 创建文件 File file=new File(filename); File file1 = new File ("C://temp//myNote.txt"); // in Windows  这是windows文件系统下的方法     File file2 = new File ("/tmp/myNote.txt"); // in Linux/Unix        unix文件系统的方法 File类的重要方法: boolean ...
个人对集合的理解: 集合是一个容器,用一个对象可处理多个对象。 java中常用的集合在系统中定义了三大接口 java.util.Set接口及其子类,Set提供的是一个无序的集合 java.util.List接口及其子类,List提供的是一个有序集合 java.util.Map接口及其子类,Map提供了一个映射关系的集合数据结构 对集合需要掌握的: 怎样得到所选中的对象 怎样增加集合中的元素 怎样删除集合中的元素 怎样循环遍历集合中的元素 三种集合: Set: Set是无序集合,其中不允许存放相同元素。 实现类有HashSet Set集合的方法: boolea ...
流的概念:java中输入输出相关的类都是java.io包中,java将输入和输出抽象定义为流 流的分类: 流按方向分为输入流(InputStream)和输出流(OutpubStream) 流按性质分:   1.基础字节流(原始流):InputStream 和 OutputStream是java中可以按最小数据单位读取的流。 基础流是直接连接到输入源的流 InputStream: InputStream的重要方法: int available():流中可读取的有效字节的长度,如果InputStream的对象源是文件,则表示文件中可读取的有效字节的长度。 void close ...
五子棋总结: 首先定义下棋的基本信息:棋盘的行数和列数,棋子的大小,棋盘的大小。由于这些信息是不变的, 而且为了改变信息时的方便,把这些信息定义在接口中。 public interface Config { public static final int x0=25; //棋盘的开始点 public static final int y0=25; public static final int ROWS=15; //棋盘的行数 public static final int COLUMNS=15; //棋盘的列数 public static final int Chess_Siz ...
Global site tag (gtag.js) - Google Analytics