user

Java Socket实战之三 传输对象

☆樱花仙子☆ 提交于 2020-12-24 05:33:46
本文地址: http://blog.csdn.net/kongxx/article/details/7259827 Java Socket实战之一 单线程通信 Java Socket实战之二 多线程通信 前面两篇文章介绍了怎样建立Java Socket通信,这一篇说一下怎样使用Java Socket来传输对象。 首先需要一个普通的对象类,由于需要序列化这个对象以便在网络上传输,所以实现java.io.Serializable接口就是必不可少的了,入下: package com.googlecode.garbagecan.test.socket.sample3; public class User implements java.io.Serializable { private static final long serialVersionUID = 1L; private String name; private String password; public User() { } public User(String name, String password) { this.name = name; this.password = password; } public String getName() { return name; } public void setName

IO

时光怂恿深爱的人放手 提交于 2020-04-07 08:39:32
当你发现自己最受欢迎的一篇blog其实大错特错时,这绝对不是一件让人愉悦的事。 《 IO - 同步,异步,阻塞,非阻塞 》是我在开始学习epoll和libevent的时候写的,主要的思路来自于文中的那篇 link 。写完之后发现很多人都很喜欢,我还是非常开心的,也说明这个问题确实困扰了很多人。随着学习的深入,渐渐的感觉原来的理解有些偏差,但是还是没引起自己的重视,觉着都是一些小错误,无伤大雅。直到有位博友问了一个问题,我重新查阅了一些更权威的资料,才发现原来的文章中有很大的理论错误。我不知道有多少人已经看过这篇blog并受到了我的误导,鄙人在此表示抱歉。俺以后写技术blog会更加严谨的。 一度想把原文删了,最后还是没舍得。毕竟每篇blog都花费了不少心血,另外放在那里也可以引以为戒。所以这里新补一篇。算是亡羊补牢吧。 言归正传。 同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问题其实不同的人给出的答案都可能不同,比如wiki,就认为asynchronous IO和non-blocking IO是一个东西。这其实是因为不同的人的知识背景不同,并且在讨论这个问题的时候上下文(context)也不相同。所以,为了更好的回答这个问题,我先限定一下本文的上下文

mysql 1449错误

南楼画角 提交于 2020-03-25 14:00:05
3 月,跳不动了?>>> 一、问题 为了更好地管理mysql数据库,重新创建了一个新账号:accout 并给予all privileges, 但是开发人员在使用视图的时候出现了mysql 1449的错误,网上说要给账号所有权限。 最后找到一篇文章完美解决问题: http://blog.handone.com/index.php/archives/137 二、问题原因: 因为创建视图使用的是root@%用户(目前已经不存在),然后登录用户使用的是accout@localhost用户,导致mysql认为现在的用户无权限访问该视图,解决方法就是在当前用户下重建该视图。 三、解决方案 将原来视图删除,使用新账号重新生成视图 来源: oschina 链接: https://my.oschina.net/u/2602029/blog/662833

ubuntu下架设svn服务器及在windows建立svn+ssh客户

﹥>﹥吖頭↗ 提交于 2019-12-07 11:00:05
ubuntu下架设svn服务器及在windows建立svn+ssh客户端: 1、安装ssh sudo apt-get install ssh 2、安装subversion sudo apt-get install subversion 3、为参与项目开发的成员建立用户帐户 sudo adduser user1 4、建立名为svn的用户组 sudo addgroup svn sudo addgroup user1 svn /*把user1加入组svn*/ 注:这里可以根据不同的权限建立多个用户组,把有相应权限的用户放入相应的组中 5、建立项目文件存储目录 sudo mkdir /usr/local/svn sudo mkdir /usr/local/svn/trunk 6、创建SVN文件仓库 sudo svnadmin create /usr/local/svn/trunk 7、为组成员赋予相应的权限 sudo chown -R root:svn /usr/local/svn/trunk sudo chmod -R g+rws /usr/local/svn/trunk /*给svn组赋予读写权限,可以根据需要更改相应权限*/ sudo chmod -R o-rwx /usr/local/svn/trunk /*删除其他无关人员的读、写、执行权限,默认情况下可能其他人有读权限*/ 注

Oracle中数据库实例、表空间、用户、模式的概念及关系

最后都变了- 提交于 2019-12-06 13:04:19
数据库 实例 :    用Oracle官方描述:实例是访问Oracle数据库所需的一部分计算机内存和辅助处理后台进程,是由进程和这些进程所使用的内存(SGA)所构成一个集合。 我们访问Oracle都是访问一个实例,但这个实例如果关联了数据库文件,就是可以访问的,如果没有,就会得到实例不可用的错误。 实例名指的是用于响应某个数据库操作的数据库管理系统的名称。她同时也叫SID。实例名是由参数instance_name决定的。查询当前数据库实例名: select instance_name from v$instance;   数据库实例名(instance_name)用于对外部连接。在操作系统中要取得与数据库的联系,必须使用数据库实例名。比如我们做开发,要连接数据库,就得连接数据库实例名: jdbc:oracle:thin: @localhost :1521:orcl(orcl就为数据库实例名)   一个数据库可以有多个实例,在作数据库服务集群的时候可以用到。 数据文件 :(待续) 表空间: 一个数据库由多个表空间组成,一个表空间只能属于一个数据库。 一个表空间可以包含一个或多个数据文件, 一个数据文件只能属于一个表空间 。    Oracle数据库是通过表空间来存储物理表的,一个数据库实例可以有N个表空间,一个表空间下可以有N张表。有了数据库,就可以创建表空间。   创建表空间语法:

RGW S3 User解析

不想你离开。 提交于 2019-12-05 00:10:50
一、RGW S3 User使用的类关系图。 cls_user_header和cls_user_bucket_entry从用户角度看到用户所拥有的buckets信息,这两个对象(其中cls_user_bucket_entry以数组的形式出现)需要保存在ceph集群中。通常在创建/删除/更新用户buckets时都需要这两个类对象。 RGwUserBuckets类是RGW User看到的buckets相关信息,实际上RGWBucketEnt和cls_user_bucket_entry类基本一致。 上图表示的是bucket的类关系图,其中rgw_bucket_dir_header和rgw_bucket_dir_entry这两个对象(rgw_bucket_dir_entry以数组的形式出现)保存到ceph集群中。在读写buckets时需要用到上述类。 上图描述了RGW User类的主要类及其关系图。其中核心类是RGWUser,该类表示一个RGW用户。上述类中RGWUID和RGWUserInfo类需要保存到Ceph集群。 二、RGW User主要函数处理流程。 1、同步指定用户所有buckets的使用信息 rgw_user_sync_all_stats() |__rgw_read_user_buckets() 读取指定用户所有buckets信息并保存到RGWUserBuckets对象中 |_

用户定位 User Location

我们两清 提交于 2019-12-01 13:11:52
用户定位使用的是 User Location 1. User Location 的作用是什么? 它的作用就用来定位用户的所在位置 2. User Location 的 API 是什么? API 有两种: LocationManager :用于管理 Android 的用户定位服务 LocationProvider :提供多种定位方式供开发者使用 3. 在使用 GPS 定位的时候要注意什么? 定位的时候不管是 GPS 还是 NetWork 两种方法的定位都要在清单列表中添加 权限 前者添加的权限是: <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 网络定位实用的权限是: <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 或者 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 4. User Location 定位方式有几种?区别是什么? provider 有多种,但是比较常用的是如下的两种。 一种是 GPS 定位,通过卫星来提供经纬度来确定位置所在,第二种:是通过 NetWork

Hibernate映射解析——七种映射关系

倖福魔咒の 提交于 2019-11-29 01:05:50
首先我们了解一个名词ORM,全称是( Object Relational Mapping ),即对象关系映射。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现,这样开发人员就可以把对数据库的操作转化为对这些对象的操作。Hibernate正是实现了这种思想,达到了方便开发人员以面向对象的思想来实现对数据库的操作。 Hibernate在实现ORM功能的时候主要用到的文件有:映射类(*.java)、映射文件(*.hbm.xml)和数据库配置文件(*.properties/*.cfg.xml),它们各自的作用如下。 映射类 ( *.java ) :它是描述数据库表的结构,表中的字段在类中被描述成属性,将来就可以实现把表中的记录映射成为该类的对象了。 映射文件( *.hbm.xml ) :它是指定数据库表和映射类之间的关系,包括映射类和数据库表的对应关系、表字段和类属性类型的对应关系以及表字段和类属性名称的对应关系等。 数据库配置文件( *.properties/*.cfg.xml ) :它是指定与数据库连接时需要的连接信息,比如连接哪种数据库、登录数据库的用户名、登录密码以及连接字符串等。当然还可以把映射类的地址映射信息放在这里。 接下来让我们就一起走进 Hibernate 的七种映射关系: 1、 单向一对一关联映射(one-to-one): 两个对象之间一对的关系

Hibernate的ID生成策略

旧街凉风 提交于 2019-11-28 23:58:13
1.介绍 Hibernate是目前最为常用的ORM框架,当然也有人会选择iBATIS或者其他的架构.这里我们着重讲Hibernate的ID生成策略 2.可选的ID策略生成方式 (1)native/auto 根据不同的数据库采用不同的ID生成方式,例如:在SQL Server中采用identity; 在MySQL中采用auto_increment; 在ORACLE中就会采用sequence, 注意hibernate会自动帮你创建一个名字叫hibernate_sequence的序列,不用自己去创建.这也是最常用和省事的. 例子 :采用xml方式配置 <hibernate-mapping> <class name="abu.csdn.bean.User" table="users"> <id column="uid" name="uid" type="java.lang.Long"> <generator class="native"/> </id> ..... </class> <hibernate-mapping> 例子 :采用注解方式(注意只要在id的getter上写上@Id就可以了,默认就是@GeneratedValue(strategy = GenerationType.AUTO), 另外(strategy = GenerationType.AUTO)也可以不写.