- 博客(27)
- 收藏
- 关注
原创 工作反思总结
这份工作干得很痛苦..... 从数据库设计,数据库字段说明搞的我一头雾水,每当去查询数据的时候,都感觉茫茫然啊,业务字段没有多少,但是关联关系却是让你脑袋要被劈开的痛苦一般. 厌恶的工具myeclipse,在我看来笨重丑陋的工具,使用myeclipse意味着基本上必须使用window系统开发. 讨厌该死的生产环境服务器,使用window系统的生产环境,
2016-04-27 18:05:23 713
原创 进程和线程理解
如何理解进程和线程呢? 首先说下彼此的依附关系。线程因进程生而生,因线程亡而亡。进程就是包工头,线程就是工人。 其次说程序执行是cpu会给分配个进程,比如启动word,迅雷等,在window的任务管理器中进程管理就会看到相对应程序的进程。进程是cpu分配资源的基本单位。 再次说下线程,当cpu给包工头分配资源后,包工头不干活,但是会给手下的工人(线程
2016-04-27 06:38:25 310
原创 DNS解析过程
当我们输入www.baidu.com的时候,我们到底怎么会访问到百度呢? 过程解释如下: 当在浏览器地址栏中输入www.baidu.com的时候,会执行的操作如下: 1.首先会在本地机器上根据hosts中的域名和ip映射关系,查找到对应的ip内容,假设本地hosts设置有 127.0.0.1 www.baidu.com 那么
2016-04-26 20:07:14 403
原创 URL和URLConnection案例
package com.neutron.network.url;import java.net.MalformedURLException;import java.net.URL;/** * URL案例 * @author zhanght * */public class URLDemo { /** * 主要查看URL的作用 */ public static v
2016-04-26 06:04:10 943
原创 多用户图片上传代码
package com.neutron.network.tcp.thread;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.Sock
2016-04-25 22:23:43 659
原创 tcp协议单用户图片上传
tcp协议中,单张图片,一个客户端一个服务器端演示案例。package com.neutron.network.tcp.file;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.n
2016-04-24 21:09:39 278
原创 tcp案例
package com.neutron.network.tcp.demo;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;im
2016-04-24 11:58:42 289
原创 tcp协议服务器和客户端相互发送数据
package com.neutron.network.tcp.demo;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;import java.net.Unknow
2016-04-24 10:10:31 4752 1
原创 tcp协议案例
tcp协议理解 需要建立客户端(Socket)和服务器端(ServerSockt)。建立连接后,通过socket中io流进行数据传输。 package com.neutron.network.tcp.demo;import java.io.IOException;import java.io.OutputStream;import java.net.Sock
2016-04-24 09:24:54 568
原创 upd聊天代码
/** * 使用udp协议编写聊天程序 * 编写聊天程序,有接收数据和发送数据的部分,这两部分同时执行 * 需要使用多线程,一个线程负责收信息,一个线程负责发信息。因为两个方法是不一致的,需要定义两个run方法。 * @author zhanght * */package com.neutron.network.udp.chart;package com.neutron.
2016-04-22 21:46:48 339
原创 udp协议案例
package com.neutron.network.udp;import java.io.IOException;import java.net.*;/** * udp协议发送 * @author zhanght * */public class UdpSender { /** * 使用udp协议发送信息 * @param message 被发送的信息 *
2016-04-21 22:07:05 380
原创 socket理解
socket是网络服务提供的机制,通信两端都有socket。可以将socket理解为码头,而通信内容是两个港口要传输的货物,有码头后可以才能使用船只传递货物。 网络通信其实就是socket之间的通信,数据在两个socket之间使用io进行数据传递。io就是船只。
2016-04-21 20:25:33 251
原创 java网络编程基础
网络通信要素:ip地址,端口号,通信协议。 ip地址:网络中设备的标识,身份证的作用。 本地回环地址:127.0.0.1,即安装完后系统和网卡后,没有联网,本地机器ip地址 本地主机名:localhost 端口:用于标识进程的逻辑地址,不同进程的标识 有效端口:0~
2016-04-21 05:25:04 202
原创 mina客户端架构
mina客户端架构 参考地址:http://mina.apache.org/mina-project/userguide/ch2-basics/ch2-basics.html 参考地址:http://blog.csdn.net/defonds/article/details/17996123 客户端需要连接服务器端,发送消息并且处理响应。
2016-04-20 05:41:54 337
原创 mina服务器端架构
mina服务器端架构 从根本上说,服务器端监听一个端口以获得接入的请求,将其进行处理然后发送回复。服务器端还会为每个客户端(无论基于tcp,还是udp协议的)创建并维护一个session。 1.I/O Acceptor监听网络以获取连入的连接或者包。 2.对于一个新的连接,一个新的session会被创建,之后所有来自该ip地址/端口号组合的
2016-04-20 05:20:20 1598
原创 基于mina的应用架构
基于mina的应用架构 mina是应用程序和基础网络层之间的粘合剂,可以基于tcp,udp,in-vm通信。 而开发者要做的仅仅在mina之上设计自己的应用实现,而无需处理网络层那些复杂的业务。这一点其实和hibernate类似,hibernate封装好底层的jdbc,你只需要专注于处理业务层即可,hibernate帮你处理好数据的持久化操作。同样mina处
2016-04-20 04:46:32 322
原创 mina下载
mina下载地址:https://mina.apache.org/downloads-mina.html 目前mina最新版本是2.0.13 解压后的mina文件夹如下: 文件夹具体作用如下: dist文件夹:mina库代码运行的jar包 docs文件夹:api文档 lib文件夹:使用mina所需要的所有
2016-04-19 22:44:53 3760
原创 何时使用MINA
什么情景下使用mina呢?使用mina前需要考虑以下几个因素。 1.没有特别性能要求的时候,mina可以轻松开发出来服务器和客户端。 2.高并发的用户量,BIO明显比NIO快,对于数千个用户来说情况确实如此,但是超过某个点,你无法使用一个线程一个用户的方式来处理上百万用户的并发。(你不可能给每个人一艘宇宙飞船啊!) NIO可以处理上百万用户的并发,相对于
2016-04-19 22:37:50 281
原创 NIO和BIO
NIO和BIO对比 BIO,又叫Blocking IO,依赖于用于阻塞模式的普通套接字:当你在套接字上进行读写或者其他操作的时候,被调用的操作将会一直阻塞调用者,直到操作结束。 (BIO喊话:告诉你,你们必须在门外等着,等我吃完饭离开饭店,你们才可以进来吃饭,否则杀无赦!) BIO(Blocking IO,阻塞IO)和NIO(Non-Blocking IO
2016-04-19 22:06:11 478
原创 NIO概述
什么是nio? NIO API是从jdk1.4引入的。NIO API封装了非阻塞操作。java7设计了新版本NIO-2. java.nio.*包含以下关键构造: 1.Buffers(缓冲) - 数据容器 2.Chartsets(字符集) - 字节和unicode码的翻译容器。 3.Channels(通道) - 表示实体
2016-04-19 21:47:02 252
原创 maven安装最佳实践
maven安装最佳实践,参考《maven实战》整理。 1.设置MAVEN_POTS环境变量 mvn命令实际上执行的是java命令,java默认可用的最大内存可能不能满足maven使用,如果没有该配置,可能总会报出内存溢出异常。 通常需要设置MAVEN_OPTS的值唯-Xms128m -Xmx256m,含义是设置最小堆内存是128m,最大堆内存是256m。
2016-04-16 09:14:54 372
原创 maven设置http代理
如果公司使用安全认证的代理访问互联网,那么需要为maven设置http代理才能正常访问外部仓库下载资源。 在何处设置呢? 在~/.m2/settings.xml文件中进行设置。 先看settings.xml文件的内容。 配置代理信息如下. proxies下可以由多个代理proxy元素,默认情况下第一个被激活的
2016-04-16 08:15:49 616
原创 maven的.m2文件夹
maven中的.m2文件夹 安装完maven是没有.m2文件夹的。在linux中以.开头的文件夹都是隐藏的。当使用maven命令的时候,maven自动会创建.m2文件夹。 运行命令mvn help:system,查看java系统属性和环境变量。 我们可以看见,执行此命令会下载maven-help-plugin插件,并且打印java系
2016-04-16 07:55:45 43785 2
原创 maven安装目录分析
maven安装目录分析,如果不知道maven安装目录,可以输入mvn -v查看。 进入/usr/share/maven/中查看,我的maven是3.3.3版本 1.bin目录的作用:和java中的bin目录类似,包含该软件运行的命令。 bin目录下包含运行mvn的脚本,mvn是基于linux平台的shell脚
2016-04-16 07:02:09 6158
原创 linux安装maven
在linux系统中安装maven,个人目前使用ubuntu15.1系统 要想使用maven,前提条件必须配置好java。 1.检查java信息。 命令:echo $JAVA_HOME 和java -version 前者查看linux中java_home环境变量,后者查看目前系统中java版本
2016-04-16 06:50:51 565
原创 maven用途
以前只是使用maven只是当成jar依赖管理工具,并没有想到它有多么厉害的功能。现在看书系统学习maven才发现它的强大之处。个人认为通过博客去学习掌握一门技术,这是很低层次的学习方法。学习金字塔,学习后要分享,要写博客,要实践,这样掌握知识才更加深刻。经历过各处搜寻以来的jar包,处理依赖冲突;经历不断手工删除缓存,发布,部署才能体会到maven一条命令的简单快捷。 maven的用
2016-04-16 06:47:06 1171
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人