`
kree
  • 浏览: 128796 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
计算机通过TCP/UDP协议在网络上通信是建立在以下四层模型之上的:   当我们编写JAVA应用程序时,主要是在第四层即应用层工作。一般说来,不必关心TCP/UDP层,这是因为java.net包已提供了系统无关的底层实现。然而,理解TCP和UDP对于决定选择使用哪种java类,还是十分必要的。  TCP协议是以连接为基础的协议,通信前,首先要建立连接,然后才能通信。因此,能保证同步、准确地进行通信。如果应用程序需要可靠的点对点通信,一般采用TCP这种协议。比如:HTTP,ftp,telnet等应用程序,确保其可靠性对于程序运行是非常关键的。另一方面,有的应用程序对通信的要求并不一定要求如此严格 ...
下面程序实现利用 Socket 套接字进行面向连接通信的编程。客户端读取本地文件并发送;服务器接收文件并保存到本地文件系统中。 import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; /** * 客户端 * * @author Kree */ public class Client { public static void main(Stri ...
用SQLyog来分析MySQL数据库:   SOLyog的下载、安装以及使用很简单。我去了相关网站下载,它只有384K字节大小。它把两个文件(一个可执行文件.exe和一个动态链接库文件.dll)安装到C:\Program Files\SQLyog路径下。然后运行可执行文件 ...
  MySQL支持单向、异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。主服务器将更新写入二进制日志文件,并维护日志文件的一个索引以跟踪日志循环。   当一个从服务器连接到主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置。从服务器接收从那时起发生的任何更新,然后封锁并等待主服务器通知下一次更新。   在实际项目中,两台分布于异地的主机上安装有MySQL数据库,两台服务器互为主备,客户要求当其中一台机器出现故障时,另外一台能够接管服务器上的应用,这就需要两台数据库的数据要实时保持一致,在这里使用MySQL的同步功能实现双机的同步复制。 ...
mysqlbinlog -u root -p*** v:/dbbackup/db-bin-log.000002 > v:/dbbackup/db-bin-log.000002.sql  在 MySQL 配置文件,My.ini 或 my.cnf 中加入 log-bin 配置。 log-bin="v:/dbbackup/db-bin-log" #binlog-do-db=#log-slow-queries=#max_binlog_size=#binlog-ignore-db=  2. 使用M ...
装mysql,运行一段时间后,在mysql目录下出现一堆类似mysql-bin.000***,从mysql-bin.000001开始一直排列下来,而且占用了大量硬盘空间,高达几十个G.  对于这些超大空间占用量的文件我们应该怎么办呢?那么mysql数据库文件夹中的mysql-bin.00001是什么文件? 引用 mysql-bin.000001、mysql-bin.000002等文件是数据库的操作日志,例如UPDATE一个表,或者DELETE一些数据,即使该语句没有匹配的数据,这个命令也会存储到日志文件中,还包括每个语句执行的时间,也会记录进去的。
由于项目设计里面,牵扯到了金钱的转移,于是就要用到MYSQL的事务处理,来保证一组处理结果的正确性。用了事务,就不可避免的要牺牲一部分速度,来保证数据的正确性。 只有InnoDB支持事务 事务 ACID Atomicity(原子性)、Consistency(稳定性)、Isolation(隔离性)、Durability(可靠性) 1、事务的原子性 一组事务,要么成功;要么撤回。 2、稳定性 有非法数据(外键约束之类),事务撤回。 3、隔离性 事务独立运行。 一个事务处理后的结果,影响了其他事务,那么其他事务会撤回。 事务的100%隔离,需要牺牲速度。 4、 ...
1. 事务处理和并发性 1.1. 基础知识和相关概念 1)全部的表类型都可以使用锁,但是只有InnoDB和BDB才有内置的事务功能。 2)使用begin开始事务,使用commit结束事务,中间可以使用rollback回滚事务。 3)在默认情况下 ...
文字不清晰,K图也断断续续的了。这里icech找到一个缩小图片不失真的代码,还是不错的,测试成功!针对GIF和JPG的图片效果不错。 代码如下: public static void reduceImg(String imgsrc, String imgdist, int widthdist, int heightdist) { try { File srcfile = new File(imgsrc); if (!srcfile.exists()) { ...
Mysql数据库是一个多用户,多线程的关系型数据库,是一个客户机/服务器结构的应用程序。它是对个人用户和商业用户是免费的.   Mysql数据库具有以下优点:   1.同时访问数据库的用户的数量不受限制   2.可以保存超过5千万条的记录   3.是目前市场上现有数据库产品中运行速度最快的数据库系统   4.用户权限设置简单、有效。   Mysql数据库常用命令: 启动Mysql数据库   C:\>cd Mysql5.0\bin   C:\Mysql5.0\bin>mysqld –install 安装Mysql服务   C:\Mysql5.0\bin> ...
  MySQL 的默认设置下,当一个连接的空闲时间超过8小时后,MySQL 就会断开该连接,而 c3p0 连接池则以为该被断开的连接依然有效。在这种情况下,如果客户端代码向 c3p0 连接池请求连接的话,连接池就会把已经失效的连接返回给客户端,客户端在使用该失效连接的时候即抛出异常。     解决这个问题的办法有三种:       1. 增加 MySQL 的 wait_timeout 属性的值。 修改 /etc/mysql/my.cnf 文件,在 [mysqld] 节中设置: # Set a connection to wait 8 hours in ...
从JDK 1.4开始,Java提供的NIO API来开发高性能网络服务器,前面介绍的网络通信程序是基于阻塞式API的——即当程序执行输入、输出操作后,在这些操作返回之前会一直阻塞该线程,所以服务器必须为每个客户端都提供一条独立线程进行处理,当服务器需要同时处理大量客户端时,这种做法会导致性能下降。使用NIO API则可以让服务器使用一个或有限几个线程来同时处理连接到服务器上的所有客户端。 如果读者忘记了NIO里Channel、Buffer、Charset等API的概念和用法,读者可以再次阅读本书第15章关于新IO的内容。 Java的NIO为非阻塞式的Socket通信提供了如下几个特殊类: ...
程序分Server和Client 服务器端打开侦听的端口,一有客户端连接就创建两个新的线程来负责这个连接 一个负责客户端发送的信息(ClientMsgCollectThread 类), 另一个负责通过该Socket发送数据(ServerMsgSendThread ) Server.java代码如下: /* * 创建日期 2009-3-7 * * TODO 要更改此生成的文件的模板,请转至 * 窗口 - 首选项 - Java - 代码样式 - 代码模板 */ package faue.MutiUser; import java.io.BufferedRea ...
     对于用ServerSocket和Socket写的服务器程序或着客户端程序,在运行的时候常常会阻塞,如当一个线程执行ServerSocket的accept()方法,如果没有客户机连接,该线程就会一直阻塞直到有了客户机连接才从accept()方法返回,再如,当线程执行Socket的read()方法,如果输入流中没有数据,该线程就会一直等到有数据可读时才从read()方法返回。     如果服务器要与多个客户机通信,通常做法为每个客户机连接开启一个服务线程,每个工作线程都有可能经常处于长时间的阻塞状态。     从JDK1.4版本开始,引入了非阻塞的通信机制。服务器程序接收客户连接、 ...
import java.nio.channels.*; import java.nio.charset.*; import java.nio.*; import java.util.*; import java.io.*; import java.net.*; public class NBlockingServer { int port = 8000; int BUFFERSIZE = 1024; Selector selector = null; ServerSocketChannel serverChannel = ...
Global site tag (gtag.js) - Google Analytics