自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(207)
  • 资源 (2)
  • 收藏
  • 关注

转载 01 strcpy()、memset()函数详解

strcpy():strcpy(dest,src);    strcpy把src所指向以'\0'结尾的字符串复制到dest所指的数组中,返回指向dest的指针。     当sizeof(dest)>=sizeof(src)时,拷贝正确,并在dest字符串后面加入'\0';     当sizeof(dest)<sizeof(src)时,拷贝出错。这个循环会一直执行,直到循环条件为...

2018-10-29 14:21:23 551 1

转载 01 =>> 002 TCP、UDP、广播/全网广播

UDP收/发广播包原理及步骤如果网络中两个主机上的应用程序要相互通信,其一要知道彼此的IP,其二要知道程序可监听的端口。因为同一主机上的程序使用网络是通过端口号来区分的。UDP Socket的使用过程:初始化网络库创建SOCK_DGRAM类型的Socket。绑定套接字。发送、接收数据。销毁套接字。释放网络库。广播数据包的原理:专门用于同时向网络中所有工作站进行发送的一个地址叫做广播地址。在使用TC...

2018-07-04 10:10:04 1343

转载 01 =>> 001 网络IP、子网掩码、网关(tbd)

tbd

2018-07-04 10:08:11 467

转载 03 java list 源码浅析

三大数据结构链表、树和图,顺序表作为其中的一种,可以说是平时编程中最长使用到的。List接口是顺序表在java中的实现,它有很多子接口和实现类,平时的编程中使用起来非常方便。但是更进一步,我们有必要对其实现和原理进行理解,并和数据结构中所学比较,并应用于平时的编程中,编写出高效率的代码。首先看下list接口的层次关系,下图由本人根据jdk的类结构简单画的:从上图可以看出,list接口有Collec...

2018-05-25 10:18:37 247

转载 02 面向对象编程7原则

-->>思考什么是编程的基本素养?(1)实现功能:首先我想强调的是,这是个信息时代。功能的实现对于程序员讲体现不出基本素养,引用领导的话来说“这个功能嘛,用别人的代码改吧改吧就出来了!”。这个只是一个经验积累过程,可以说积累过程是个量变。体现的是个人的信息搜索能力、理解能力。(2)功能的复用性、可维护性、可扩展性:将自己的编程思想展现给别人的过程,这也是编程高度的精髓,高度与深度区分的...

2018-05-21 13:05:01 865

转载 01 面向对象的特性 -- 封装、继承、多态、抽象

面向对象的三个基本特征是:封装、继承、多态。封装封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。继承面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。通过...

2018-05-21 11:09:17 204

转载 05 类封装

 三大特性之---封装       封装从字面上来理解就是包装的意思,专业点就是信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外接口使之与外部发生联系。系统的其他对象只能通过包裹在数据外面的已经授权的操作来与这个封装的对象进行交流和交互。也就是说用户是无需知道对象内部的细节(当然也...

2017-10-18 14:04:58 351

原创 04 对象内存分配

1 内存概念1)堆内存:保存真正的数据,即保存的对象的属性信息    2)栈内存:保存的堆内存的地址,即堆内存的操作权(也可以理解为保存的属性的名 称)2 举例说明--声明并实例化对象    public class Person{String name;        int age;public void info(){        }

2017-10-18 11:05:29 463

原创 03 Java 运算符

1 三目运算符   结果变量=表达式?值1:值2; 其中 :1)表达式 为逻辑表达式 判断其为真或假        2)值1 与 值2 为 可能的值 不能为表达式,也即 值1,值2 不能为 a=1这样的表达式        3)三目运算符进行运算后 返回的是一个值 必须用变量进行保存或print(?:)直接打印 或return返回结果值

2017-10-16 16:43:19 190

原创 02 字符串、转义符

1 字符串:在之前使用过程中一直以为String(字符串类型)是基础类型,实际上它是引用类型(惊喜不惊喜,神奇不神奇)。并且字符串使用过程中有以下几点注意:1)“+”描述的是字符的连接2)所有类型与String类型进行“+”操作,则所有类型都变成为String类型,其中若想     实现基础类型的相加运算,则需使用“()”2 转义符常用的转义符:1)换行:\n2)制

2017-10-16 16:08:05 479

转载 01 Java标识符命名

一、命名规范1、 项目名全部小写:2、 包名全部小写:  从而,我们知道,一般公司命名为“com.公司名.项目名.模块名....”。    那,我们个人的项目又怎么命名呢?    经过我对“个人的”单词搜索,有“individual、personal、private、one-man”,进一步对以上4个单词词意的分析,并在保证了唯一性,使用每个单词的前4个

2017-10-13 10:25:34 256

转载 算法----排序

1.冒泡排序冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。  冒泡排序算法的运作如下: 比较相邻的元素。如果第一个比第二个大,就交换他们两

2017-08-24 09:47:27 226

转载 JAVASE 01--泛型理解

1   Java泛型中<? extends E>和的区别            是 Upper Bound(上限) 的通配符,用来限制元素的类型的上限,比如[java] view plain copyListextends Fruit> fruits;  表示集合中的元素类型上限为Fruit类型,即只能是F

2017-08-18 12:47:26 207

原创 时间戳调试

时间戳转换工具:http://tool.chinaz.com/Tools/unixtime.aspx时间戳相关信息:(1)10位信息:自1970年1月1日的累计秒数(2)13位信息:自1970年1月1日的累计毫秒数(3)系统时区选择:UTC+8   UTC:世界标准时间 ---通用协调时(0度经线格林尼治时间)(universal time coordinated)

2017-06-08 11:23:31 871

转载 JAVA基础学习---- 多态实例(1)

我们知道面向对象的三大特性是封装、继承和多态。然而我们有时候总是搞不清楚这些概念。下面对这些概念进行整理,为以后面向抽象的编程打下坚实的基础。  封装的概念还是很容易理解的。如果你会定义类,那么相信你对封装的概念已经完全掌握了。下面定义的几个类,就是对数据的封装。  继承的好处是代码复用。继承的子类自动拥有父类中的所有属性和方法。所以继承已存在的类就是复用这些类的方法和域。

2017-05-13 18:42:48 278

转载 JAVA基础学习---- 继承与合成(构造器)

构造器      通过前面我们知道子类可以继承父类的属性和方法,除了那些private的外还有一样是子类继承不了的---构造器。对于构造器而言,它只能够被调用,而不能被继承。 调用父类的构造方法我们使用super()即可。      对于子类而已,其构造器的正确初始化是非常重要的,而且当且仅当只有一个方法可以保证这点:在构造器中调用父类构造器来完成初始化,而父类构造器具有执行父类初

2017-05-13 17:33:28 372

转载 JAVA基础学习---- 继承与合成

继承与合成基本概念继承:可以基于已经存在的类构造一个新类。继承已经存在的类就可以复用这些类的方法和域。在此基础上,可以添加新的方法和域,从而扩充了类的功能。合成:在新类里创建原有的对象称为合成。这种方式可以重复利用现有的代码而不更改它的形式。1.继承的语法关键字extends表明新类派生于一个已经存在的类。已存在的类称为父类或基类,新类称为子类或派生类。例如:

2017-05-13 17:09:21 393

转载 JAVA基础学习---- 封装

封装从字面上来理解就是包装的意思,专业点就是信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外接口使之与外部发生联系。系统的其他对象只能通过包裹在数据外面的已经授权的操作来与这个封装的对象进行交流和交互。也就是说用户是无需知道对象内部的细节(当然也无从知道),但可以通过该对象对外的提

2017-05-13 17:06:52 241

转载 JAVA基础学习---- 重载和重写

重载——同样的一个方法能够根据输入数据的不同,做出不同的处理。【有不同的参数列表(静态多态性)】(1) 方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。重载Overloading是一个类中多态性的一种表现。    (2) Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数

2017-05-13 16:47:40 259

转载 字符编码笔记:ASCII,Unicode和UTF-8

1. ASCII码我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从0000000到11111111。上个世纪60年代,美国制定了一套字符编码,对英语字符与

2016-12-08 10:09:35 240

转载 Java线程(十三)----阻塞队列BlockingQueue

好久没有写文章了,这段时间事情比较杂,工作也比较杂乱,上周日刚搬完家,从自建房搬到了楼房,提升了一层生活品质,哈哈!不过昨天晚上在公交车上钱包被偷了,前段时间还丢个自行车,不得不感叹,京城扒手真多,还无人处理。言归正传,这一段时间我的工作主要是改进公司的调度器,调度器调度线程池执行任务,生产者生产任务,消费者消费任务,那么这时就需要一个任务队列,生产者向队列里插入任务,消费者从队列里提取任务执行,

2016-11-26 15:07:50 286

转载 Java线程(十二)----线程本地变量ThreadLocal

首先说明ThreadLocal存放的值是线程内共享的,线程间互斥的,主要用于线程内共享一些数据,避免通过参数来传递,这样处理后,能够优雅的解决一些实际问题,比如hibernate中的OpenSessionInView,就是使用ThreadLocal保存Session对象,还有我们经常用ThreadLocal存放Connection,代码如:[java] view plain

2016-11-26 15:06:45 206

转载 Java线程(十一)----Fork/Join-Java并行计算框架

并行计算在处处都有大数据的今天已经不是一个新鲜的词汇了,现在已经有单机多核甚至多机集群并行计算,注意,这里说的是并行,而不是并发。严格的将,并行是指系统内有多个任务同时执行,而并发是指系统内有多个任务同时存在,不同的任务按时间分片的方式切换执行,由于切换的时间很短,给人的感觉好像是在同时执行。 Java在JDK7之后加入了并行计算的框架Fork/Join,可以解决我们系统中大数据计算的性能问题

2016-11-26 15:05:05 415

转载 Java线程(十)----CAS

前言       在Java并发包中有这样一个包,java.util.concurrent.atomic,该包是对Java部分数据类型的原子封装,在原有数据类型的基础上,提供了原子性的操作方法,保证了线程安全。下面以AtomicInteger为例,来看一下是如何实现的。[java] view plain copy print?public fin

2016-11-26 15:04:00 256

转载 Java线程(九)----Condition-线程通信更高效的方式

接近一周没更新《Java线程》专栏了,主要是这周工作上比较忙,生活上也比较忙,呵呵,进入正题,上一篇讲述了并发包下的Lock,Lock可以更好的解决线程同步问题,使之更面向对象,并且ReadWriteLock在处理同步时更强大,那么同样,线程间仅仅互斥是不够的,还需要通信,本篇的内容是基于上篇之上,使用Lock如何处理线程通信。        那么引入本篇的主角,Condition,Condi

2016-11-26 15:00:48 240

转载 Java线程(八)----锁对象Lock-同步问题更完美的处理方式

Lock是Java.util.concurrent.locks包下的接口,Lock 实现提供了比使用synchronized 方法和语句可获得的更广泛的锁定操作,它能以更优雅的方式处理线程同步问题,我们拿Java线程(二)中的一个例子简单的实现一下和sychronized一样的效果,代码如下:[java] view plain copy print?

2016-11-26 14:59:28 250

转载 Java线程(七)----Callable和Future

接着上一篇继续并发包的学习,本篇说明的是Callable和Future,它俩很有意思的,一个产生结果,一个拿到结果。        Callable接口类似于Runnable,从名字就可以看出来了,但是Runnable不会返回结果,并且无法抛出返回结果的异常,而Callable功能更强大一些,被线程执行后,可以返回值,这个返回值可以被Future拿到,也就是说,Future可以拿到异步执行任务

2016-11-26 14:57:56 225

转载 Java线程(六)----线程池

自JDK5之后,Java推出了一个并发包,java.util.concurrent,在Java开发中,我们接触到了好多池的技术,String类的对象池、Integer的共享池、连接数据库的连接池、Struts1.3的对象池等等,池的最终目的都是节约资源,以更小的开销做更多的事情,从而提高性能。        我们的web项目都是部署在服务器上,浏览器端的每一个request就是一个线程,那

2016-11-26 14:56:20 207

转载 Java线程(四)----线程中断、线程让步、线程睡眠、线程合并

本文来自:高爽|Coder,原文地址:http://blog.csdn.net/ghsau/article/details/17560467,转载请注明。       最近在Review线程专栏,修改了诸多之前描述不够严谨的地方,凡是带有Review标记的文章都是修改过了。本篇文章是插进来的,因为原来没有写,现在来看传统线程描述的不太完整,所以就补上了。理解了线程同步和线程通信之后,再来看本文

2016-11-26 14:54:32 234

转载 Java线程(五)----Timer和TimerTask

Timer和TimerTask可以做为实现线程的第三种方式,前两中方式分别是继承自Thread类和实现Runnable接口。        Timer是一种线程设施,用于安排以后在后台线程中执行的任务。可安排任务执行一次,或者定期重复执行,可以看成一个定时器,可以调度TimerTask。TimerTask是一个抽象类,实现了Runnable接口,所以具备了多线程的能力。        一个

2016-11-26 14:52:44 301

转载 Java线程(三)----线程协作-生产者/消费者问题

上一篇讲述了线程的互斥(同步),但是在很多情况下,仅仅同步是不够的,还需要线程与线程协作(通信),生产者/消费者问题是一个经典的线程同步以及通信的案例。该问题描述了两个共享固定大小缓冲区的线程,即所谓的“生产者”和“消费者”在实际运行时会发生的问题。生产者的主要作用是生成一定量的数据放到缓冲区中,然后重复此过程。与此同时,消费者也在缓冲区消耗这些数据。该问题的关键就是要保证生产者不会在缓冲区满时加

2016-11-26 14:51:08 204

转载 Java线程(二)----线程同步synchronized和volatile

上篇通过一个简单的例子说明了线程安全与不安全,在例子中不安全的情况下输出的结果恰好是逐个递增的(其实是巧合,多运行几次,会产生不同的输出结果),为什么会产生这样的结果呢,因为建立的Count对象是线程共享的,一个线程改变了其成员变量num值,下一个线程正巧读到了修改后的num,所以会递增输出。        要说明线程同步问题首先要说明Java线程的两个特性,可见性和有序性。多个线程之间是不能

2016-11-26 14:44:37 223

转载 Java 线程(一)----线程安全与不安全

作为一个Java web开发人员,很少也不需要去处理线程,因为服务器已经帮我们处理好了。记得大一刚学Java的时候,老师带着我们做了一个局域网聊天室,用到了AWT、Socket、多线程、I/O,编写的客户端和服务器,当时做出来很兴奋,回学校给同学们演示,感觉自己好NB,呵呵,扯远了。上次在百度开发者大会上看到一个提示语,自己写的代码,6个月不看也是别人的代码,自己学的知识也同样如此,学完的知识如果

2016-11-26 14:42:43 302

转载 java自带线程池和队列详细讲解

一简介线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的。在jdk1.5之后这一情况有了很大的改观。Jdk1.5之后加入了java.util.concurrent包,这个包中主要介绍java中线程以及线程池的使用。为我们在开发中处理线程的问题提供了非常大的帮助。二:线程池线程池的作用:线程池作用就是限制系统中执行线程的数量。

2016-11-25 17:18:54 220

转载 OSI七层模型详解(物理层、数据链路层、网络层、传输层.....应用层协议与硬件)

版权声明:本文为博主原创文章,未经博主允许不得转载。 OSI 七层模型通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯,因此其最主要的功能就是帮助不同类型的主机实现数据传输 。完成中继功能的节点通常称为中继系统。在OSI七层模型中,处于不同层的中继系统具有不同的名称。   一个设备工作在哪一层,关键看它工作时利用哪一层

2016-11-19 10:24:27 3100

转载 SNMP协议详解

简单网络管理协议(SNMP)是TCP/IP协议簇的一个应用层协议。在1988年被制定,并被Internet体系结构委员会(IAB)采纳作为一个短期的网络管理解决方案;由于SNMP的简单性,在Internet时代得到了蓬勃的发展,1992年发布了SNMPv2版本,以增强SNMPv1的安全性和功能。现在,已经有了SNMPv3版本。一套完整的SNMP系统主要包括管理信息库(MIB)、管理信息结构

2016-11-19 10:18:38 407

转载 Snmp学习总结

SNMP4J是一个用Java来实现SNMP(简单网络管理协议)协议的开源项目.它支持以命令行的形式进行管理与响应。SNMP4J是纯面向对象设计与SNMP++(用C++实现SNMPv1/v2c/v3)相类似。  SNMP4J API 提供以下下特性:支持MD5和SHA验证,DES,3DES,AES128、AES192和AES256加密的SNMPv3。支持MPv1,MPv2C和MPv3

2016-11-18 16:57:24 1104

转载 java----swing嵌入浏览器

DJNativeSwing-SWT组件-Java GUI中内嵌浏览器字数415 阅读1064 评论0 喜欢0Java项目中经常需要在GUI程序中嵌入浏览器,而Swing自带的组件对CSS、JS的支持不是很好,网上也有很多组件,参考Java浏览器组件但是由于对各个平台的支持不是很好,笔者是在Mac系统下进行开发,很多组件只支持在win32,最终选择了开源项目DJN

2016-11-07 10:01:54 3990

转载 Java---UDP

一. UDP协议定义UDP协议的全称是用户数据报,在网络中它与TCP协议一样用于处理数据包。在OSI模型中,在第四层——传输层,处于IP协议的上一层。UDP有不提供数据报分组、组装和不能对数据包的排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。二. 使用UDP的原因它不属于连接型协议,因而具有资源消耗小,处理速度快的优点,所以通常音频、视频和普通数据在传送时使用U

2016-10-18 09:06:27 236

转载 MFC----控件操作

1.CCOmboBox类:(1)CCOmboBox.GetCurSel()函数原型:int GetCursel( ) const;返回值:返回组合框中列表框中当前选中的项的下标。如果没有选中项,则返回CB_ERR。说明:本函数用于MFC编程时,调用这个函数来确定哪些项目在组合框中被选中。(2)CCO

2016-09-21 10:43:03 379

AT89C51数据手册

AT89C51数据手册,学习单片机手册,经典收藏版,单片机开发者必备神器。可入手,可深入,适用于不同层次的小伙伴。

2018-01-04

家庭安全系统

使用单片机构造家庭安全系统,系统设计包括室内温度监测,室内安全监测等。

2014-03-13

空空如也

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

TA关注的人

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