自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

请叫我王老魔

菜鸟要慢慢学着飞起来

  • 博客(30)
  • 收藏
  • 关注

原创 数据库的DBS DBMS DBA DDL DML DCL

数据库系统 DBS 整体数据的结构化是数据库的主要特征之一 数据结构化, 数据的共享性高,冗余度低,易扩充, 数据的独立性高:物理独立性(用户的应用程序和磁盘中的数据是相互独立的,当数据的物理存储改变,程序不用改变)和逻辑独立性(应用程序和数据库的逻辑结构是相互独立的,逻辑结构改变,用户程序也可以不改变) 数据由DBMS统一管理和控制DBMS :数据库管理系统, DataBase Man

2017-03-31 16:27:18 3956

原创 MySQL存储引擎

MySQL 可以将数据以不同的技术存储在文件(内存)中,这种技术就称之为存储引擎(也叫表类型),每一种存储引擎使用不同的存储机制,索引技巧,锁定水平,最终提供广泛且不同的功能。 MySQL的核心就是存储引擎, 存储引擎是独立于操作系统的,也就是mysql支持多平台的原因。 MySQL 提供的几种存储引擎,经常使用的主要是前二种 MyISAM InnoDB 默认的存储引擎 Memory C

2017-03-29 22:00:21 760

原创 MySQL的常见数据类型

我们在进行数据库的设计中设计表的时候需要考虑选择合适的数据类型, 比如年龄,需要的是无符号的,那么 tinyint 就足够了,不必须非得要int型的, 这样可以节省数据空间,也是一种优化。 整型: 类型: 字节: 有符号 无符号 tinyint: 1个字节 -128 —127

2017-03-28 21:26:21 566

原创 MySQL基础和数据库的创建命令,约束

首先讲解一下常见的命令: net start mysql57 (mysql57 是 服务名), 启动服务 net stop mysql57 关闭服务 mysql -uroot -p 根据用户名,密码登陆数据库 (root是用户名) prompt mysql> 修改提示符mySQL的默认端口号 3306 默认用户 rootMySQL语句的规范: 1. 关键字和函

2017-03-28 20:12:09 977

转载 几种常见的java开源库,及其功能介绍

1、Commons Math 是Apache上一个轻量级自容器的数学和统计计算方法包,包含大多数常用的数值算法。2、LWJGL(Lightweight Java Game Library)可以帮助Java程序员开发有着商业性质的游戏。LWJGL为开发者提供简单易用的API来访问OpenGL (Open Graphics Library)和OpenAL (Open Audio Library),同样也

2017-03-26 21:01:28 4150

原创 java 的 ClassLoader 类加载机制详解

一个程序要运行,需要经过一个编译执行的过程: Java的编译程序就是将Java源程序 .java 文件 编译为JVM可执行代码的字节码文件 .calss 。Java编译器不将对变量和方法的引用编译为数值引用,也不确定程序执行过程中的内存布局,而是将这些符号引用信息保留在字节码中,由解释器在运行过程中创立内存布局,然后再通过查表来确定一个方法所在的地址。这样就有效的保证了Java的可移植性和安全性。

2017-03-21 11:28:30 4351 2

原创 Java 8 的新特性

(最重要的是接口的扩展 和 支持Lambda表达式)第一: 关于接口 interface,新增了:可以在接口内实现非抽象的方法,只需要在方法前面加上default关键字, 另外在接口内也可以添加static 方法。interface Formula { double calculate(int a); // 原来接口内只允许上面的抽象方法,现在可以增加下面的具体的方法实现,现在接口就

2017-03-20 11:30:18 356

原创 UDP中的connect方法 和TCP的connect方法详解

上一篇文章中,我发现了UDP也是有这connect方法的,这使我非常不理解,下面为大家讲解一下这个connect方法。 我们知道UDP是无连接的,它可以给多个IP发送数据包,包括广播地址或者多播通信的实现,而这些是TCP/IP无法实现的。 但是UDP提供了这样的一个connect()方法,它有两种使用方式,当使用了这个方法之后,那么就限定了这个socket的使用范围: 只允许从这个指定的Sock

2017-03-19 21:51:13 7268 1

原创 TCP和UDP 在java上通信上的实现

TCP/IP 实现通信图示: 服务器端: ServerSocket 第一步: 服务器端启动一个ServerSocket, 绑定到特定的端口号上,并对该端口号进行监听,等待用户的请求ServerSocket serverSocket = new ServerSocket(5566);第二步: 调用accept() 方法,监听端口号, 如果没有用户发送请求连接,这个accept方法是会一致阻塞的,

2017-03-19 21:15:01 3789

原创 URL 讲解 和 InetAddress

Java的网络类 在java.net 包中 URL(Uniform resouce locator)统一资源定位符,表示互联网上某一资源的定位符 包括协议表示符,资源名字(主机名,文件名,端口号,引用)对于http协议默认的监听端口号就是80我们更希望能够通过这个URL访问页面上的内容,但是注意的是只能获取文本或者绝对路径的图片, 相对地址的东西获取不到。 一般又两种方式获取到URL地址指向的页面

2017-03-17 17:37:37 892

原创 Java 网络概述 和 TCP 和 UDP

网络7层模型:OSI 标准 open system interconnection 应用层所使用的协议: 远程登陆协议:Telnet 文件传输协议: FTP 超文本传输协议: HTTP 域名服务DNS 简单邮件传输协议: SMTP 邮局协议:POP3传输层协议: TCP : 面向连接的可靠的传输协议 UDP : 是无连接的,不可靠的传输协议网络层协议: 网际协议 IP 互联

2017-03-16 08:33:43 357

原创 深拷贝(deep clone)和浅拷贝(shallow copy)

这个又叫浅复制和深复制。 其相同点和区别: 相同点: 浅复制和深复制都是通过复制创建了一个新的对象,也就是 x.clone() != x 浅复制和深复制的对象所属的类是一致的,也就是 x.clone().getClass() == x.getClass() 浅复制和深复制的对象在某些情况下, 也就是从内容角度来说,它所包含的内容是一致的 x.clone().equals(x)不同点:

2017-03-15 10:54:31 987

原创 高级多线程控制类

在讲解高级多线程控制类之前,我们需要把前面的一点知识再补上:并且对比一下几种方法:yield() 方法: 当前正在执行的线程(Running 状态),如果调用了yield方法,代表着它自愿的放弃了对CPU资源的占用,转化为runnable状态。 sleep(Time) : 线程休眠一段时间,但是休眠过程中仍然保持着对对象锁的占用 wait : 线程等待,会释放掉对对象锁的占用 join() :

2017-03-14 21:59:48 1856 1

转载 Java多线程之BlockingQueue深入分析

转载自: http://www.2cto.com/kf/201212/175028.html 一、概述: BlockingQueue作为线程容器,可以为线程同步提供有力的保障。二、BlockingQueue定义的常用方法 1.BlockingQueue定义的常用方法如下:抛出异常 特殊值 阻塞 超时 插入 add(e) offer(e) put(e) offer(e, time, unit)

2017-03-14 19:27:03 493

原创 多线程同步-线程之间通信:wait notify 另外还有interrupt,join方法

线程之间的相互作用:线程之间通信 (生产者-消费者问题:可以看成两个线程,生产者一个线程,消费者一个线程,生产者这生产一个东西告诉消费者可以消费了,消费者消费完这个东西就通知生产者可以生产了,绝对不允许生产者连续生产而无消费者消费的情况) (哲学家就餐问题: 一群哲学家围着一个圆桌吃饭,吃饭需要筷子,但是筷子并不够,并不能每个人分到一双筷子,筷子的分布情况是这样的: 哲学家的左手和右手边分别

2017-03-14 10:45:51 823

原创 多线程同步 synchronized

几个重要的概念: 并行:多个cpu实例或者多台机器同时执行一段处理逻辑,是真正的同时。 并发:通过cpu调度算法,让用户看上去同时执行,实际上从cpu操作层面不是真正的同时。让一段程序交替进行,并发往往在场景中有公用的资源,那么针对这个公用的资源往往产生瓶颈,我们会用TPS或者QPS来反应这个系统的处理能力。 线程安全:经常用来描绘一段代码。指在并发的情况之下,该代码经过多线程使用,线程的调度

2017-03-12 22:01:58 496

原创 线程类Thread详解和线程的几种状态,守护线程

Thread类也是实现了Runnable接口的,它的run方法就是因此而来的class Thread implements Runnable {}Thread几个比较重要的构造方法: Thread() //创建一个线程 Thread(Runnable target) //将一个实现了Runnable接口的类的对象传进来 Thread(String name) // 为线程传进名字为什么必须要通

2017-03-08 22:03:03 1885

转载 Java中的多线程你只要看这一篇就够了

网址:http://www.cnblogs.com/wxd0108/p/5479442.html文/知米丶无忌(简书作者) 原文链接:http://www.jianshu.com/p/40d4c7aebd66

2017-03-08 10:59:56 439

转载 对于java中volatile关键字的误用

java中volatile关键字的含义在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉。Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 同步块 和 volatile 关键字机制。synchronized 同步块大家都比较熟悉,通过 synchronized 关键字来实现,所有加上sync

2017-03-08 10:52:23 224

转载 AJAX (Asynchronous JavaScript and XML)

Ajax工作原理  在写这篇文章之前,曾经写过一篇关于AJAX技术的随笔,不过涉及到的方面很窄,对AJAX技术的背景、原理、优缺点等各个方面都很少涉及null。这次写这篇文章的背景是因为公司需要对内部程序员做一个培训。项目经理找到了我,并且征询我培训的主题,考虑到之前Javascript、CSS等WEB开发技术都已经讲解过了,所以决定针对AJAX这一块做一个比较系统的培训,所以这篇文章实际上是一个培

2017-03-07 21:10:03 589

原创 线程概念详解(Thread)

线程和进程的区别: 一个进程内可以有多个线程,线程是比进程更小的单位 1、 进程是系统分配资源的基本单位,线程是CPU调度的基本单位,进程是程序的一次执行,线程是CPU调度的一次执行 2、进程之间是相互独立的,每个进程拥有自己的一块自身内存区域(进程间的通信是需要解决的问题),而多个线程之间是共享一块内存区域和一组资源的,有可能相互影响(因此会产生多个线程同时访问某一块数据的时候会导致数据不一致

2017-03-07 21:08:38 1993

原创 序列化与反序列化

概念的理解: 对象序列化: 将对象写入一个字节流保存起来的过程,稍后你就可以运用序列化过程存储这些对象到一个固定的存储区域如文件, 这种机制叫做对象序列化。 反序列化: 跟序列化正好相反,从一个固定区域如文件读取回内存的过程。 反序列化的时候不会调用对象的任何构造方法,仅仅根据所保存的对象的状态信息在内存中重新构建对象。Java的序列化和反序列化工具被设计出来,很多情况下,对象的存储和回复工作

2017-03-06 18:08:00 293

原创 字符char 输入输出流 和 NIO

字符输入和输出很类似,只不过字符类处理的是字符,字符流以char为最基本的单位,而字节流以byte为最基本的单位。字符流 Reader 和 Writer 两个抽象类,字符输入和输出流的类都是继承自这两个类。 Java使用unicode来表示字符和字符串, 一个字符char 用两个字节表示,即一个字符占 16 位。 Java中一个字符 可以表示一个汉字。OutputStreamWriter类: 用

2017-03-05 22:20:21 582

原创 装饰模式(包装模式)

装饰模式: 是以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。装饰模式是以对客户透明的方式动态的给一个对象附加上更多的责任,装饰模式可以在不增加任何子类的情况下将对象的功能加以扩展。 使用装饰模式,我们没有对类进行修改就实现了为该类的对象添加了新的功能,当然我们也可以通过继承来建立一个子类实现我们添加功能的目的,但是这样一来就要写好多的子类,而且这些子类仅有少许微小的差别,不利于后续的

2017-03-05 16:52:09 425

原创 字节 输入输出流 byte

输入和输出是相对于程序的: 流的分类: 第一: 输入流: 数据从外部流入写的程序 输出流: 数据从程序流到外面第二: 从流结构上:其实底层都是以字节流来实现的。 **字节流: 字符流**:在字节流的基础上做了封装,相当于直接操作字符串一样,简化操作。字节流**byte Stream的输入和输出基础是 **InputStream 和 OutoutStream这两个抽象类 字节的输入和

2017-03-03 22:14:27 12502

原创 递归实现以树的形式输入某一个文件夹下的所有文件及目录,不要求图形界面

注释比较多,这里就不再详细的讲解了package IO;import java.io.File;import java.util.ArrayList;public class DirectionShow { public static void main(String[] args) { File file = new File("G:/a"); deepS

2017-03-03 19:26:16 504

原创 Java I/O 系统中的 File 类详解

对于程序设计者来说,设计一个很好的I/O系统是一件很艰难的事。–Thinking in Java第一: File 类 (只涵盖了文件或者目录的一些情况,并没有读写具体文件的能力) 1. 一个File类的对象,表示了磁盘上的文件或者目录 2. File 类提供了与平台无关的方法来对磁盘上的文件或者目录进行操作 3. File类直接处理文件和文件系统 4. File类没有指定信息怎样从文

2017-03-03 14:55:17 661

原创 四种内部类,(Inner Class)

内部类: 定义在内部的类,不一定非得是定义在类的内部, 可以分为4种类型。 第一: 静态内部类(定义在类中)静态的内部类与其外部类是编译成 两个.class文件 的,注意的是外部类是不可以定义为静态的。 为什么外部的类不可以定义为静态的 解释:静态类是没有实际意义的,而且运行初始化还要占用大量内存,而且假如有静态类,不能被重写,不能创建对象,没啥实际意义。 备注:其实只需要定义静态

2017-03-03 10:05:57 1096

原创 观察者模式

观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。 这个主题对象在状态上发生变化时,会通知所有观察者对象,让它们能够自动更新自己。设计原则:   为了交互对象之间的松耦合设计而努力。松耦合的设计之所以能让我们建立有弹性的OO系统,能够应对变化,是因为对象之间的互相依赖降到了最低      抽象主题角色(被观察者):把所有对观察者对象的引用保存在一个集合中,每个抽象主题

2017-03-03 09:04:47 280

原创 观察者模式: Observer

观察者模式定义了一种一对多的依赖关系,让多个观察者同时监听某一个主题对象。这个主题对象会在状态发生变化时,通知所有的观察者对象,让他们能够自动更新自己。AWT 和Swing 的事件处理模型都是用了观察者模式抽象的主题角色:把所有对观察者对象的引用保存在一个集合中,每个抽象主题角色都可以有任意数量的观察者,抽象主题提供一个接口,可以增加或者删除观察者角色,一般用抽象类或者接口实现。 抽象的观察者角色

2017-03-02 21:12:17 204

空空如也

空空如也

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

TA关注的人

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