
Java通信
文章平均质量分 53
通信、线程之类的文章
lovoo
不要抱怨生活,只因你还不够努力!
展开
-
NIO实现多人聊天
NIO即non-blocking IO,顾名思义是一种非阻塞模型。Buffer,缓冲区。Buffer底层是一个数组,供Channel实现对数据的读写。Buffer的position、limit、capacity分别指当前索引、读/写上限索引、数组容量。Channel,管道。Channel可以理解为连接,与BIO中Sokcet类似,一个连接对应一个Channel,但Channel中仍内置了一个Socket,可以调用socket()获取。Selector,选择器。原创 2023-04-12 11:54:45 · 280 阅读 · 0 评论 -
NIO非阻塞式网络通信实例
Buffer缓存区缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成NIO Buffer对象,并提供了 一组方法,用来方便的访问该块内存。相比较直接对数组的操作,Buffer API更加容易操作和管理。Channel通道Java NIO的通道类似流,但又有些不同:既可以从通道中读取数据,又可以写数据到通道。但流的((input或 output)读写通常是单向的。通道可以非阻塞读取和写入通道,通道可以支持读取或写入缓冲区,也支持异步地读写。Selector选择器。原创 2023-04-11 21:57:57 · 671 阅读 · 0 评论 -
Java FileChannel文件的读写实例
文件通道FileChannel是用于读取,写入,文件的通道。FileChannel只能被InputStream、OutputStream、RandomAccessFile创建。使用fileChannel.transferTo()可以极大的提高文件的复制效率,他们读和写直接建立了通道,还能有效的避免文件过大导致内存溢出。原创 2023-04-11 16:47:33 · 2046 阅读 · 0 评论 -
使用JAVA BIO进行消息转发(简单的聊天功能)
看到微信或QQ群里某一个用户发送消息后,所有人都能接收到消息,这个功能是怎么实现的呢?原创 2023-04-11 11:21:07 · 311 阅读 · 0 评论 -
Java BIO从入门示例到多线程示例
Java BlO就是传锤的Java IO编程,其相关的类和接口在Java.io 包中BIO同步并阻塞(传统阻塞型),服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器 端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销【简单示意图 】原创 2023-04-10 22:49:01 · 722 阅读 · 0 评论 -
nio使用示例
1、使用nio channel实现数据的读写 public static void nioChannel() throws Exception{ String content = "hello, wys is beautiful views"; FileOutputStream fos = new FileOutputStream("d:\\test.txt"); FileChannel channel = fos.getChannel();原创 2021-09-07 22:39:01 · 229 阅读 · 0 评论 -
Netty--使用线程池打造一个初级网络服务器
一、代码部分public static void main(String[] args) throws Exception{ ExecutorService pool = Executors.newCachedThreadPool(); ServerSocket serverSocket = new ServerSocket(6666); while (true) { Socket socket = serverSocket.acce原创 2021-09-01 22:03:05 · 164 阅读 · 0 评论 -
Json(1)---使用对象拼接json
一、创建对象public class JsonData implements Serializable { private static final long serialVersionUID = 1L; private String data; private String value; public String getData() { return原创 2017-11-01 15:12:52 · 1649 阅读 · 0 评论 -
Json(1)---使用StringBuffer拼接json
一、代码:List<User> list = service.queryUsers(query); StringBuffer sb = new StringBuffer("["); for (int i = 0; i < list.size(); i++) { if (i == list.size() - 1) { sb.append("{va原创 2017-11-01 15:06:20 · 3385 阅读 · 0 评论 -
JAVA(SSM、SSH等)20项目视频教程,共134G
———————-课程目录——————————第01项目:OA办公自动化项目(四套) 第02项目:CRM客户关系管理项目(两套) 第03项目:宅急送项目 第04项目:杰信商贸SSH版 第05项目:电力项目(两套) 第06项目:校内网项目 第07项目:Java邮件开发教程 第08项目:java网上在线支付实战视频 第09项目:俄罗斯方块游戏开发_视频教程 第10项目:交通灯管理系统视频原创 2017-09-16 12:46:55 · 6691 阅读 · 0 评论 -
log4j.properties 配置文件
log4j.rootCategory=WARN,file,stdoutlog4j.appender.file=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.file.encoding=UTF-8log4j.appender.file.DatePattern='.'yyyy-MM-dd'.log'log4j.appender.fi原创 2016-10-28 13:52:53 · 388 阅读 · 0 评论 -
SSH 如何更新Maven工程
解决方案1、在pom.xml文件中加入maven-resources-plugin配置<dependency> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>2.4.3</version></dependency> 2、原创 2016-10-18 20:57:48 · 392 阅读 · 0 评论 -
EasyUI框架 使用Ajax提交注册信息
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><html><head> <title>EasyUI框架</title> <%@ include file="/WEB-INF/jsp/public/common.jspf" %> <script type="text/javascrip原创 2016-10-17 20:32:39 · 851 阅读 · 0 评论 -
Druid连接池简单入门配置
偶尔的机会解释Druid连接池,后起之秀,但是评价不错,另外由于是阿里淘宝使用过的所以还是蛮看好的。Druid集连接池,监控于一体整好复合当前项目的需要,项目是ssh结构,之前是用C3p0的,现在换一个连接池也是很简单的,首先spring配置DataSource,配置如下:[html] view plain copybea转载 2016-10-16 09:42:35 · 539 阅读 · 0 评论 -
Maven 环境的配置
现在Java新架构的不断出现,例如Struts,Spring,Hibernate等,项目的配置文件的增多,给开发人员带来很大麻烦。在实际的开发当中,Myeclipse中的project越来越庞大,所依赖的第三方Jar包越来越多,这显得Project很臃肿,给项目管理带来了很大不便,尤其实在一些大些项目。为了解决上述问题,Apache开源组织 早在几年前就发布了Maven,它适用于大的Java项目。转载 2016-10-15 12:47:14 · 288 阅读 · 0 评论 -
JAVA Spring RMI(1)--Spring整合Rmi总结
在Spring整合Rmi中: 服务端使用了org.springframework.remoting.rmi.RmiServiceExporter RmiServiceExporter把任何Spring管理的Bean输出成一个RMI服务。通过把Bean包装在一个适配器类中工作。适配器类被绑定到RMI注册表中,并且将请求代理给服务类。 客户端使用了org.springframework.remot原创 2017-09-28 16:53:37 · 472 阅读 · 0 评论 -
JAVA通信(2)--实现简单的RPC框架
一、RPC简介RPC,全称为Remote Procedure Call,即远程过程调用,它是一个计算机通信协议。它允许像调用本地服务一样调用远程服务。它可以有不同的实现方式。如RMI(远程方法调用)、Hessian、Http invoker等。另外,RPC是与语言无关的。 RPC示意图 如上图所示,假设Computer1在调用sayHi()方法,对于Computer1而言调用sayHi()方法转载 2017-09-27 08:52:54 · 1086 阅读 · 0 评论 -
Android 使用socket 实现简单的客户端和服务器端互相通信
1、服务端:public class SocketServer { public static void main(String[] args) throws IOException { ServerSocket server = new ServerSocket(10000); final Socket socket = server.accept原创 2016-06-26 22:09:32 · 13273 阅读 · 2 评论 -
JAVA通信(1)-- 使用Socket实现文件上传与下载
客户端/** * 文件上传客户端 * * @author chen.lin * */public class UploadClient extends JFrame { /** * */ private static final long serialVersionUID = -8243692833693773812L; private S原创 2016-04-21 14:41:20 · 5405 阅读 · 1 评论 -
Java8 十大新特性
1、lambda表达式1)对象 =(变量…) ->{ 方法实现 } 2)实例:public class LambdaDemo{ public static void main(String[] args){ System.out.println("kk"); Runnable r =()->{ int i = 0;原创 2016-07-12 23:18:02 · 876 阅读 · 0 评论 -
Java 获得局域网IP与公网IP
/*获得局域网ip/ public static String getMyIP() throws IOException { InputStream ins = null; try { URL url = new URL(“http://iframe.ip138.com/ic.asp“); URLConnect原创 2016-08-31 10:22:23 · 791 阅读 · 0 评论 -
Java Swing 每次打开只运行一个实例,并激活任务栏里的程序
import java.awt.AWTException;import java.awt.Dimension;import java.awt.Image;import java.awt.MenuItem;import java.awt.PopupMenu;import java.awt.SystemTray;import java.awt.TrayIcon;import java.aw原创 2016-09-14 21:40:12 · 4133 阅读 · 0 评论 -
java架构师项目实战(Nginx、SOA、storm、Solr大数据高可用,SpringBoot等)视频教程
—————————————————————————————————————————————————–java架构师项目实战,高并发集群分布式,大数据高可用视频教程,共760G下载地址:https://item.taobao.com/item.htm?id=55588852620101.高级架构师四十二个阶段高 02.Java高级系统培训架构课程148课时 03.Java高级互联网架构师课程 0原创 2017-09-13 23:01:00 · 1130 阅读 · 0 评论 -
java架构师项目实战,高并发集群分布式,大数据高可用视频教程
—————————————————————————————————————————————————–java架构师项目实战,高并发集群分布式,大数据高可用视频教程,共760G下载地址:https://item.taobao.com/item.htm?id=55588852620101.高级架构师四十二个阶段高 02.Java高级系统培训架构课程148课时 03.Java高级互联网架构师课程 0原创 2017-09-12 14:51:59 · 2177 阅读 · 2 评论 -
JAVA8之lambda表达式详解,及stream中的lambda使用
lambda表达式详解一.问题1.什么是lambda表达式? 2.lambda表达式用来干什么的? 3.lambda表达式的优缺点? 4.lambda表达式的使用场景? 5.lambda只是一个语法糖吗?二.概念lambda表达式是JAVA8中提供的一种新的特性,它支持JAVA也能进行简单的“函数式编程”。 它是一个匿名函数,Lambda转载 2016-07-13 21:00:53 · 1326 阅读 · 0 评论