java
文章平均质量分 94
洋芋洋芋彡
Creators Never Follow.
展开
-
Java内存分配
对于Java而言,在虚拟机自动分配内存管理机制帮助下,不再需要为每一个new操作去写配对的delete/free代码,不容易出现内存泄漏和内存溢出的问题,由虚拟机管理内存这一切看起来都很美好。但是,一旦出现了内存泄露和溢出方面的问题,如果不了解虚拟机是怎样管理内存的,那么排查错误将会称为一项异常艰难的问题。1. Java内存分配策略Java 程序运行时的内存分配策略有三种,分别...转载 2018-02-26 09:56:25 · 144 阅读 · 0 评论 -
Hashmap&Hashtable
HashMap和HashTable的区别一种比较简单的回答是: HashMap HashTable 非线程安全的 线程安全的 键和值都允许有null存在 都不允许 效率高 效率低1. HashMap是非线程安全的,HashTable是线程安全的,内部的方法基本都经过synchronized修饰。 2. 因为同步、哈希性能等原因,性能...转载 2018-03-19 07:40:38 · 172 阅读 · 0 评论 -
Java 类加载器
每个编写的”.java”拓展名类文件都存储着需要执行的程序逻辑,这些”.java”文件经过Java编译器编译成拓展名为”.class”的文件,”.class”文件中保存着Java代码经转换后的虚拟机指令,当需要使用某个类时,虚拟机将会加载它的”.class”文件,并创建对应的class对象,将class文件加载到虚拟机的内存,这个过程称为类加载。简单的说,类加载器(class load...原创 2018-03-18 22:57:47 · 209 阅读 · 0 评论 -
Java synchronized&volatile
synchronized可以保证方法或者代码块在运行时,同一时刻只有一个方法可以进入到临界区,同时它还可以保证共享变量的内存可见性Java中每一个对象都可以作为锁,这是synchronized实现同步的基础:普通同步方法,锁是当前实例对象;静态同步方法,锁是当前类的class对象;同步方法块,锁是括号里面的对象。1. synchronized对象锁synchroni...转载 2018-03-12 08:20:34 · 169 阅读 · 0 评论 -
Java Thread run&start
实现并启动线程有两种方法: 1. 写一个类继承自Thread类,重写run方法。用start方法启动线程; 2. 写一个类实现Runnable接口,实现run方法。用new Thread(Runnable target).start()方法来启动。1. start 和 run 方法解释1.1 start: 用start方法来启动线程,真正实现了多线程运行,这时无需等待run方...转载 2018-03-11 16:31:23 · 243 阅读 · 0 评论 -
Socket
网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。建立网络通信连接至少要一对端口号(socket)。socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口;HTTP是轿车,提供了封装或者显示数据的具体形式;Socket是发动机,提供了网络通信的能力。1. ...转载 2018-03-11 09:47:44 · 157 阅读 · 0 评论 -
Java通讯及Server
1. 基于Socket实现的编程1.1 实现的基本步骤 1. 创建一个ServerSocket的对象并监听端口(例如:6666) 2. 调用ServerSocket对象的accept方法,等待连接: 如果连接成功会返回一个Socket对象; 否则一直阻塞等待; 3. 为规范方法,创建ClientHandler和RequestHand...原创 2018-02-11 13:56:57 · 169 阅读 · 0 评论 -
Java异常处理
异常是指程序运行时(非编译时)所发生的非正常情况或错误,当程序违反了语义规则时,JVM就会将出现的错误表示为一个异常并抛出。这个异常可以在catch程序块中进行捕获,然后进行处理。异常处理的目的就是为了提高程序的安全性与健壮性。1. Error&Exception1.1 ErrorError表示程序在运行期间出现了非常严重的错误,并且该错误是不可恢复的,...原创 2018-03-15 08:15:00 · 169 阅读 · 0 评论 -
JSON
JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。JSON 指的是 Java...原创 2018-02-20 23:12:53 · 273 阅读 · 0 评论 -
JDBC
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。我们安装好数据库之后,我们的应用程序也是不能直接使用数据库的,必须要通过相应的数据库驱...原创 2018-02-13 10:05:04 · 189 阅读 · 0 评论 -
Java父类和子类的关系
一、父类引用指向子类对象时若子类覆盖了某方法,则父类引用调用子类重新定义的新方法若子类未覆盖某方法,则父类引用调用父类本身的旧方法若子类覆盖了某属性,但父类引用仍调用父类本身的旧属性若子类未覆盖某属性,则父类引用调用父类本身的旧属性父类引用不能访问子类新定义的方法二、子类引用指向自身对象时若子类覆盖了某方法,则子类引用调用子类重新定义的新方法若子类未覆盖某方法,则子...转载 2018-02-12 14:36:22 · 3207 阅读 · 0 评论 -
Java抽象类与接口
抽象类与接口是java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力。他们两者之间对抽象概念的支持有很大的相似,甚至可以互换,但是也有区别。1. 抽象类如果一个类没有足够的信息来描述一个具体的对象,而需要其他具体的类来支撑它,那么这样的类我们称它为抽象类。 在解决实际问题时,一般将父类定义为抽象类,需要使用这个父类进行继承与多态处理。继承...原创 2018-02-12 15:57:47 · 176 阅读 · 0 评论 -
Java单例模式(Singleton)
1. 什么是单例模式 Java中单例(Singleton)模式是一种广泛使用的设计模式。它用于产生一个对象的具体实例,可以确保系统中一个类只产生一个实例。单例模式的主要作用是保证在Java程序中,某个类只有一个实例存在。一些管理器和控制器常被设计成单例模式。 因程序需要,有时我们只需要某个类同时保留一个对象,不希望有更多对象,此时,我们则应考虑单例模式的设计。2. 单例模式...原创 2018-02-11 22:37:20 · 209 阅读 · 0 评论 -
排序算法的实现(Java)
1. 冒泡排序/** * Title: 交换排序中的冒泡排序 ,一般情形下指的是优化后的冒泡排序,最多进行n-1次比较,依赖于初始序列 * Description:因为越大的元素会经由交换慢慢"浮"到数列的顶端(最后位置),最大的数最后才确定下来,所以称为冒泡排序 * 时间复杂度:最好情形O(n),平均情形O(n^2),最差情形O(n^2) * 空间复杂度:O(1) * 稳 定 ...原创 2018-05-02 15:14:42 · 136 阅读 · 0 评论