自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

MADE_哒哒

正在努力中。。。。。。。

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

原创 java动态编译——javassist了解和最基本使用

动态编程:静态编译,类型检查是在编译时完成的,而动态编程中类型检查是在运行时完成的。所谓动态编程就是绕过编译过程在运行时进行操作的技术,在Java中有如下几种方式:反射https://blog.csdn.net/qq_40301026/article/details/88815999 动态编译 动态编译是从Java 6开始支持的,主要是通过一个JavaCompiler接口来完...

2019-03-31 21:03:35 1551

转载 JavaScript脚本引擎Rhino

一:认知脚本引擎 脚本引擎就是连接java语言与脚本语言的桥梁。通过脚本引擎可以使用java语言操作脚本语言。 Rhino脚本引擎就是java语言与javascrip脚本语言之间的桥梁。已经当做jar包加载到JDK中了。package com.chen.Base_Points;import java.io.FileReader;import java.net.URL;i...

2019-03-31 15:11:03 495

原创 理解java反射

在Java中每个类被加载后,系统会为该类生成一个Class对象,且是唯一的。通过Class对象就可以访问到JVM中的这个类。我们就可以拿到万恶之源——Class对象,去获得这个类的所有信息。例如:一个类有:成员变量、方法、构造方法、包等等信息,利用反射技术可以对一个类进行解剖。one新建一个类,去拿到这个类在JVM中的Class对象。同时验证一下此万恶之源是唯一的。提供一个类,我们...

2019-03-31 13:39:57 227

原创 用scanf函数输入数据,举例并分析错误原因 用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’。问在键盘上如何输入。

今天遇到一个小学弟开始学c语言,问了一道题。用scanf函数输入数据,举例并分析错误原因用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’。问在键盘上如何输入。#include<stdio.h>int main(){int a, b;float x, y;char c1, c2;scanf("a=...

2019-03-27 09:38:44 48512 9

原创 java注解——Annotation

什么是注解? JDk5开始有了Annotation,它是代码的一种特殊标记,可以在编译,类加载,运行时被读取,并执行相应的处理。通过使用注解,程序员可以在不改变代码逻辑的情况下,在源文件里写一些补充信息。 Annotation是一个接口,程序可以通过反射来获取指定元素的Annotation对象,然后得到注解内容。 注解(Annotat...

2019-03-26 11:19:47 148

原创 二叉树前序、中序、后序遍历非递归写法的透彻解析

对二叉树的非递归遍历有些不熟悉,看了这个博客懂了,很好。https://blog.csdn.net/zgaoq/article/details/79089819在前两篇文章二叉树和二叉搜索树中已经涉及到了二叉树的三种遍历。递归写法,只要理解思想,几行代码。可是非递归写法却很不容易。这里特地总结下,透彻解析它们的非递归写法。其中,中序遍历的非递归写法最简单,后序遍历最难。我们的讨论基础是这样...

2019-03-24 22:43:54 345

原创 二叉树的层序遍历原理总结

层序遍历也就是从左向右一层一层的遍历,直到结束。下图是一个二叉树,并且层序去遍历如何用代码来实现此算法?核心:利用队列先进后出的特征,先让根结点入队,接着开始循环一下操作,出队,出队的结点左孩子,右孩子入队。直到队列为null下图是对上面二叉树的层序遍历的描述。蓝色数字2到11则是循环的操作。红字是每次循环的具体操作。出队循序就是层序遍历的顺序。树的结点定义:...

2019-03-24 21:40:51 1247

原创 二叉树前序中序后序(递归)遍历总结

所谓的前序遍历就是:先遍历根再遍历左子树再遍历右子树,按这个顺序根,左,右遍历直到整个树遍历完。所谓的中序遍历就是:先遍历左子树再遍根再遍历右子树,按这个顺序左,根,右直到整个树遍历完。所谓的中序遍历就是:先遍历左子树再遍右子树再遍根,按这个顺序左,右,根直到整个树遍历完。以此树来详解一下:1. 我们可以把此树先分为根和左子树,右子树(红色圈出来的),根据根,左,右的顺序...

2019-03-24 21:40:31 381

原创 Socket编写一个简易的聊天室

首先实现的功能:1.群聊。一个服务器端可以承载多个客户端(用户)来请求访问。服务器端对其请求做出处理,并转发给其他的客户端(用户)。2.私聊。因为是控制台输入输出,所以私聊格式为:@xxx: 。而且自己给私发服务器端不响应。思路:1.用ServerSocket模拟服务器端,并且开启多线程的调用accept()等待客户端连接。 2.Socket模拟客户端...

2019-03-21 23:24:05 3135 5

转载 Java中遍历ConcurrentHashMap的四种方式

转载:https://blog.csdn.net/bruceleenumberone/article/details/74017923package other; import java.util.Iterator;import java.util.Map;import java.util.concurrent.ConcurrentHashMap; /** * Java中遍历M...

2019-03-19 23:04:30 2343

原创 基于TCP原理Socket编程模拟多个客户端访问服务端

利用TCP原理来模拟C/S模型,实现多个客户端访问服务器端。主要是通过在服务端实现多线程来实现。主要步骤: 服务器端:1.创建服务器端,指定端口。2.调用accept方法,.阻塞式等待客户端连接3.通过IO流拿到服务端的请求数据,并且对其分析。4.再通过IO流把分析好后的数据发送出去。(对客户端的响应)5.释放此次和这个客户端有关的资源。...

2019-03-18 20:57:09 3970

原创 基于UDP协议实现一个简陋的一对一的聊天室

首先明白UDP相关知识:https://blog.csdn.net/qq_40301026/article/details/88623353https://blog.csdn.net/qq_40301026/article/details/88605688首先先实现一方接受,一方发送的能力:这是发送方:思路: 1.使用DatagramSocket指定端口,...

2019-03-17 18:46:15 1516 7

原创 传输协议TCP和UDP

UDP相当于写信,我只管写信,写好地址后就投递出去,不管对面收到不收到。TCP相当于打电话,A先拨打,B表实接到电话,A知道拨通后开始给B说话。TCPTCP是一种面向连接的,可靠的基于字节流的运输层的通信协议。特点: *面向连接 *点到点的通信 *高可靠 *占用系统资源多,效率低。三...

2019-03-17 18:20:13 402

原创 网络端口

IP地址是用来区分和识别一台计算机或是网络节点的。在一台计算机上有多款的应用软件,是如何区分这些软件或是应用程序?那就是端口了。此端口并不是说像USB接口一样在电脑上开了许许多多的端口,而是此端口是虚拟的一种概念。端口的范围:0--------65535端口的分类:(1)公认端口(Well Known Ports):从0到1023,它们紧密绑定(binding)于一些服务。通常...

2019-03-16 21:06:01 221

原创 IP地址和InetAddress

首先要明确IP地址是IP地址,IP协议是一种协议协议,两个不一样。IP 地址IP 地址(Internet Protocol address, IP address)用来标识网络中的一个通信实体的地址,通信实体可以是计算机、路由器等等。互联网中每个服务器都要有自己的IP地址,而每个局域网的计算机要通信也要配置IP地址。IP地址分类: IPV4:32位...

2019-03-16 20:52:42 2897

原创 TCP/IP四层模型与OSI参考模型

在上计算机网络时老师重点的讲解了OSI参考模型,这就是很明显的将一个比较难得问题把它分割为很小的一个一个的问题去解决。这是一个理想化的理论模型。本层给上层提供服务。它长这样:1、物理层:  主要功能:利用传输介质为数据链路层提供屋里连接,实现比特流的透明传输。  作用:实现相邻计算机节点之间比特流的透明传输,尽可能屏蔽掉具体传输介质与物理设备的差异。使其上面的数据链路层不必考虑...

2019-03-16 20:33:28 2284 1

原创 设计模式——>单例模式

单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。设计步骤:1.私有构造器2.提供私有的静态属性3.提供一个静态的共有方法...

2019-03-13 13:04:06 80

转载 深入Java内存模型——happenBefore

转载为:http://blog.csdn.net/ns_code/article/details/17348313happen—before规则介绍Java语言中有一个“先行发生”(happen—before)的规则,它是Java内存模型中定义的两项操作之间的偏序关系,如果操作A先行发生于操作B,其意思就是说,在发生操作B之前,操作A产生的影响都能被操作B观察到,“影响”包括修改了内...

2019-03-12 10:16:05 91

转载 任务定时调度——quartz

转载为:https://www.cnblogs.com/drift-ice/p/3817269.html废话的前言以前凭借年轻,凡事都靠脑记。现在工作几年后发现,很多以前看过、用过的东西,再次拿起的时候总觉得记不牢靠。"好记性不如烂笔头"应该是某位上了年纪的大叔的切肤之痛(仅次于上了年纪的难言之瘾)。我觉得这事得怪怪中国的应试教育,中国的考试方式就是要求把脑袋当数据库,以前中学那点知识...

2019-03-12 10:13:20 452

原创 java线程同步问题

多线程运行会出现许多问题,这是由于CPU对线程的调度具有一定的随机性。看一个最经典的取钱的例子:如果是同一个账户,夫妻两个人共有的,妻子去Atm取钱,丈夫去柜台取钱。假设没有任何安全处理,两人都是同时取钱。就会出现安全问题。package cn.liu.syn;/** * 线程不安全:取钱 * @author Administrator * */public class U...

2019-03-11 13:01:35 229

原创 线程和进程的基础概念

现在的大多系统都支持同时运行多个任务,比如我们的windows系统电脑可以登qq的同时听网易音乐,我们还可以愉快的码字。一个任务通常就是一个程序,每个运行中的程序就是一个进程。当一个程序运行时,内部可能包含多个顺序执行流,每个顺序执行流就是一个线程。 进程是表示资源分配的基本单位。而线程则是进程中执行运算的最小单位,即执行处理机调度的基本单位。关于“线程”和“进程”的区...

2019-03-11 12:14:46 93

原创 线程的优先级

Java里面可以自己设定线程的优先级,注意的是此处的优先级和操作系统里面的优先级有些区别。操作系统里面学的线程优先级是可以按优先级高和低去被CUP调用,但JAVA里面的线程优先级只是让此线程获得CPU调度的概率增加。举一个例子就像买彩票一样,你的优先级高只是你中奖概率大,并不代表你能中奖的道理一样。 1.优先级可以自己在1到10的范围去指定,数字越高代表优先级越高。其中...

2019-03-10 23:33:41 217

原创 多线程的五大状态

线程的五大状态: 线程从创建、运行到结束总是处于下面五个状态之一 1.新生状态: 对象一旦建立就处于新生状态(Thread st = new Thread();)。当一个线程处于新生状态时,程序还没有开始运行线程中的代码2.就绪状态: 线程建立后处于新生状态,后就...

2019-03-10 09:06:56 994

原创 java中创建线程常用的三种方式

在java中一般比较常用的创建线程的方式有三种:1.Thread class --------&gt;继承Thread类2.Runnable接口 --------&gt;实现Runnable接口3.callable接口 --------&gt;实现callable接口接下来一一介绍和对比-----------------------------------...

2019-03-09 21:16:18 353

原创 commons-io的下载和使用

我们常常要用到许多jar,如何获取和使用?以commons-io为例。首先上网址:http://www.apache.org/ 往下拉: 点击commons,选择IO 点击Download: ...

2019-03-06 21:09:24 11993 2

原创 RandomAccessFile——分割文件

遇到如下问题,源文件流大小为88888byte,缓冲数组大小为1024byte,就意味着每次可以得到源文件的1024个byte。但我要对文件分块,想多个地方下载,只要记住每次的位置最后就可以拼接回去。 我每次实际想要拿1088个byte 。 如何解决?只要第一次把缓冲数组1024byte拿走,缓冲数组再去缓冲,第二次再去缓冲数组拿1088-1024个,...

2019-03-05 22:57:57 911

原创 IO流常用类的总结

主要对常用的相关IO进行总结,如果哪里不懂仔细查看API。可以从三个方面去看待IO流。 第一个从处理数据的类型去看可分为:字节流,字符流,转换流。 第二是从流向去看分为:输出和输入流 ...

2019-03-05 20:14:18 365

转载 Java中的equals和==

浅谈Java中的equals和==  在初学Java时,可能会经常碰到下面的代码:1 String str1 = new String("hello");2 String str2 = new String("hello");3 4 System.out.println(str1==str2);5 System.out.println(str1.equals(st...

2019-03-02 21:44:20 124

空空如也

空空如也

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

TA关注的人

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