认真生活,快乐工作,保持理想!https://blog.csdn.net/tuzongxun
能力说明:
了解变量作用域、Java类的结构,能够创建带main方法可执行的java应用,从命令行运行java程序;能够使用Java基本数据类型、运算符和控制结构、数组、循环结构书写和运行简单的Java程序。
暂时未有相关云产品技术能力~
阿里云技能认证
详细说明**io流是程序中比较常用的功能,基本上涉及到文件上传下载的都要用到这功能,比如上传头像,上传附件等等。 对于一个java程序员来说,io流也是必须掌握的,因此这里对比较常用的或者说曾经用过的方法进行简单的归纳和总结。** 对于io流,百度百科的解释是: 流是一种抽象概念,它代表了数据的无结构化传递。按照流的方式进行输入输出,数据被当成无结构的字节序或字符序列。从
**io流是程序中比较常用的功能,基本上涉及到文件上传下载的都要用到这功能,比如上传头像,上传附件等等。 对于一个java程序员来说,io流也是必须掌握的,因此这里对比较常用的或者说曾经用过的方法进行简单的归纳和总结。** 对于io流,百度百科的解释是: 流是一种抽象概念,它代表了数据的无结构化传递。按照流的方式进行输入输出,数据被当成无结构的字节序或字符序列。从
group分组统计是数据库比较常用的功能,mongodb也不例外。不过相对于普通的增删改查,group操作就略微麻烦一些, 这里对group在shell中的操作、使用java原生代码操作以及集成spring进行操作进行一个简单的归纳总结,分组的途径和方法应该都有多种,这里每一样只举一例。 本例中数据源如下: 需要使用group实现的目的是:按年龄分组统计出每一组的数量。 1、mo
最近抽时间搭建了一下mongodb简单的分片,整个过程还算是蛮顺利,只不过在用户验证这一块遇到了一些问题,好在最后终于搞定。 一、服务器搭建过程: 1、安装四个mongodb:一个作为config、一个作为mongos、另外两个作为主要数据存储的服务器(机器ip192.168.0.201),如图: 分别对应图中被红框框起来的mongoconf、mongos、mongo1、mong
1、find :查找指定文件名的路径: 列出当前目录以及子目录中的所有文件: 在当前目录下寻找特定文件名的文件: 列出长度为零的文件: 2、ps :查看某个程序的进程,例如查询mongodb和mysql的: 3、tar :解压压缩文件:tar -zxvf 压缩文件名 4、grep和wc来统计文本的行数,经常用来查看采集日志: 5、tel
1、cd :进入一个目录,例如进入/home/admin目录:cd /home/admin2、pwd :查看当前所在目录:如图: 3、ls :列出当前目录下的所有文件: 4、ll :列出当前目录下的所有文件并显示详情: 5、mkdir :新建一个目录文件夹: 6、mv :重命名文件或文件夹目录(或移动文件的位置): 7、rm :强制删除目录或者文件:
前两天接到了一个新的需求,需要在linux shell脚本中监控到mongodb最大连接数、内存使用情况等。 但是我对于linux shel很不了解,只是会一些简单常用的linux的操作而已,只要一顿狂搜,最终多番尝试下终于获取到这些值。 成功的步骤大致如下: 0、./mongostat -u admin -p admin --authenticationDatabase admin -
之前有搭建mongodb3.0的副本集,不过当时直接使用的admin数据库,用户也是直接给的root。 链接:http://blog.csdn.net/tuzongxun/article/details/51723259 最近想要把数据移到非admin数据库上,便重新以非admin库创建用户,过程大致和之前的一样,但创建用户的时候还是遇到了一些问题,主要是在用户角色和权限上。 我搭建过程中
前天因为工作需要,开始着手对数据库中两千多万的数据中其中一个字段重复的数据进行去重。 原本使用一些测试的数据测试后,前天写的那个方法是可行的,但是当面对这个两千万的真实数据时,我却发现这方法有些不顶用了,最终只好又经过若干次的尝试,总算成功去重。 最终总结一下整个过程: 1、这个方法就是上一篇所讲的,利用mongodb的游标dbcursor和while循环的方式。 var res=db
里边的内容在某些情况下不可行,可以参考下一篇。 今天出现了一个新的需求,有个部门需要拿到mongodb中的数据,要求去掉其中一个字段内容相同的数据。 虽然mongodb中有distinct来去重,但是和mysql的distinct不同的是,mysql中能用distinct * 返回整条记录的信息,而mongodb的distinct我却只是返回去重的那个字段的数据(或许mongodb也可以返
里边的内容在某些情况下不可行,可以参考下一篇。 今天出现了一个新的需求,有个部门需要拿到mongodb中的数据,要求去掉其中一个字段内容相同的数据。 虽然mongodb中有distinct来去重,但是和mysql的distinct不同的是,mysql中能用distinct * 返回整条记录的信息,而mongodb的distinct我却只是返回去重的那个字段的数据(或许mongodb也可以返
mongodb3.0在mmapv1的存储引擎基础上添加了一个新的存储引擎WiredTiger。但是3.0的默认存储引擎依旧是mmapv1,因此我们项目之前也就用的默认方式。 但是mongodb更新实在太快,转眼间,从3.0直接跳到3.2,默认的存储引擎也改成了WiredTiger。据说这个引擎具有占用磁盘空间更小,占用内存空间更小,查询效率更高等一系列特点。 为了防患于未然,今天尝试了一
mongodb3.0在mmapv1的存储引擎基础上添加了一个新的存储引擎WiredTiger。但是3.0的默认存储引擎依旧是mmapv1,因此我们项目之前也就用的默认方式。 但是mongodb更新实在太快,转眼间,从3.0直接跳到3.2,默认的存储引擎也改成了WiredTiger。据说这个引擎具有占用磁盘空间更小,占用内存空间更小,查询效率更高等一系列特点。 为了防患于未然,今天尝试了一
注:sql的移植性比较强,函数的移植性不强,一般为数据库软件特有,例如mysql有mysql的函数,oracle有oracle的函数。 1、concat连接字符串: 从上图中可以看出,直接使用select concat就可以连接任意两个以上的字符串,同时也可以用来连接查询结果,一般情况中也是会用来连接查询结果。需要注意的是,如果连接的内容有null存在的话,那么结果就只会是null
mysql中虽然有连接查询实现多表连接查询,但是连接查询的性能很差,因此便出现了子查询。 1、理论上,子查询可以出现在查询语句的任何位置,但实际应用中多出现在from后和where后。出现在from后的子查询结果通常是多行多列的,充当临时表;而出现在where后的子查询结果通常是单行单列,充当条件: 2、where后作为条件的子查询多与“=”、“!=”、“>”、“<”等
mysql中虽然有连接查询实现多表连接查询,但是连接查询的性能很差,因此便出现了子查询。 1、理论上,子查询可以出现在查询语句的任何位置,但实际应用中多出现在from后和where后。出现在from后的子查询结果通常是多行多列的,充当临时表;而出现在where后的子查询结果通常是单行单列,充当条件: 2、where后作为条件的子查询多与“=”、“!=”、“>”、“<”等
1、左外连接left outer join或者left jion,outer可以省略不写,下边的右连接和全连接也一样: 左外连接的意思是,以left join左边的表中的数据为基准,即左边的表中有的必须要全部显示出来,如下图: 这里第一个查询中,company表在左边,因此就以company为基准,所以显示的结果中除了depart_id相同的6条数据外,还把company中
1、左外连接left outer join或者left jion,outer可以省略不写,下边的右连接和全连接也一样: 左外连接的意思是,以left join左边的表中的数据为基准,即左边的表中有的必须要全部显示出来,如下图: 这里第一个查询中,company表在左边,因此就以company为基准,所以显示的结果中除了depart_id相同的6条数据外,还把company中
1、使用union和union all合并两个查询结果:select 字段名 from tablename1 union select 字段名 from tablename2; 注意这个操作必须保证两张表字段相同,字段数据类型也相同。另外,使用union的时候会去除重复(相同)的记录,而union all则不会。 注:下边的几个连接查询涉及到笛卡尔积的概念,即如果存在两张表,第一张
注:文中所有的。。。代表多个。 1、使用count统计条数:select count(字段名。。。) from tablename; 2、使用avg计算字段的平均值:select avg(字段名) from tablename; 这里都可以适当的拓展,比如加条件,重命名等等。 3、使用sum求和:select sum(字段名) from tablename;
这是去年写的一篇文档,最近突然发现并没有发不出来,因此现在补上,希望能对某些朋友有所帮助。因为当时记录时没有截图,因此这里看起来可能就比较单调。 一、基本环境: mongdb3.0.5数据库 spring-data-mongodb-1.7.2.jar mongo-java-driver-3.0.2.jar linux-redhat6.3 tomcat7 二、搭建mongodb副本集: 1
这是去年写的一篇文档,最近突然发现并没有发不出来,因此现在补上,希望能对某些朋友有所帮助。因为当时记录时没有截图,因此这里看起来可能就比较单调。 一、基本环境: mongdb3.0.5数据库 spring-data-mongodb-1.7.2.jar mongo-java-driver-3.0.2.jar linux-redhat6.3 tomcat7 二、搭建mongodb副本集: 1
1、使用order by对查询的结果进行排序,asc升序,desc降序: 也可以在order by后指定多个字段名和排序方式进行多级排序: 2、使用limit限制查询结果的数量: 上图中的0,代表查询的开始位置,也可以理解为跳过的数量;上图中的2代表需要查询出的数量。这个表中有3条数据,因为限制了条数为2,因此实际结果只是两条。另外,这里的初始位置是0,实际上可以
1、单条件查询:select 字段名 from tablename where 条件; 2、简单多条件查询,使用&&或者between and等: 3、is null和is not null查询,这里要注意null不是空字符串不是0: 4、in和not in查询,相当于是用or把in后边的集合元素连起来。注意如果in后边带的集合中存在null,那么
1、mysql简单的查询:select 字段1,字段2... from tablename; 如果字段那里写一个*,代表查询所有的字段,等同于指定出所有的字段名,因此如果要查询所有字段的数据,一般都是用*。 2、去重查询:select distinct 字段1,字段2... form tablename; 可以结合上一张图的结果来对比。 3、直接在查询时做数学四则运算
之前有写过一篇使用eclipse生成java可执行jar包,但是最近的一次使用中无论如何都不成功,当双击执行打成的jar时,弹出如下错误: could not find the main class:mailTest.SendMailTest1.Program wil exit 针对这一问题,我首先想到在上一次编写java聊天小程序打包时的问题,也是这个错误,当时网上说需要更改
1、插入单条数据:insert into tablename(字段名1,字段名2,...) values(值1,值2,...); 从图中可以看出,插入时不需要每个字段都有值(在没有相关的约束前提下),但是需要注意的是字段的数量和后边的值的数量必须一致,还要和自定的字段的顺序一致,类型也要一致,否则会报错。另外,如果没有指定任何字段的情况下,默认是选择了所有字段,则必须每个字段都有对应
1、插入单条数据:insert into tablename(字段名1,字段名2,...) values(值1,值2,...); 从图中可以看出,插入时不需要每个字段都有值(在没有相关的约束前提下),但是需要注意的是字段的数量和后边的值的数量必须一致,还要和自定的字段的顺序一致,类型也要一致,否则会报错。另外,如果没有指定任何字段的情况下,默认是选择了所有字段,则必须每个字段都有对应
1、修改表名:alert table oldtablename rename newtablename; 或者alert table oldtablename rename to newtablename; [图形界面用多了,alter老是敲成alert] 2、在表的最后添加一个字段列:alter table tablename add 属性名 属性类型; 3、在表的第
1、修改表名:alert table oldtablename rename newtablename; 或者alert table oldtablename rename to newtablename; [图形界面用多了,alter老是敲成alert] 2、在表的最后添加一个字段列:alter table tablename add 属性名 属性类型; 3、在表的第
昨天有一个系统出现了问题,导致半夜时大量的错误数据产生,早晨一早接到上边通知让把这些数据尽数删除。 不可否认在数据操作时mongoVUE更加直观,因此一般情况下我也都是使用这个工具,但是今天却出现了问题。 首先我查询了一下需要删除的数据的数据量,查询操作正常,如图: 然后一样的条件执行删除remove操作,结果就卡在那里许久之后弹出错误提示框如下: 几次尝试后均是如
前边成功创建好一个cxf的webServcie服务,并带了一个无参数的方法。现在进一步尝试了使用带参数的方法,分别测了用String为参数和用自定义的对象为参数。 其中,使用String为参数时和不带参数的写法没有什么区别,调用时也就是很普通的调用。但是调用自定义对象为参数的方法时,实际数据并没有传递成功,于是在网上搜索一番后找到了解决办法,成功实现这一功能。 具体实现步骤大致如下: 1、
虽然下一个项目需要使用xfire,但是在查资料的过程中还是看到有不少地方都说cxf比xfire更好,cxf继承了xfire,但是不仅仅包含xfire,因此便也一起来尝试尝试。大概是有了xfire的经验吧,cxf的搭建比xfire快了许多。 cxf的许多参数感觉和xfire差不多,因此便不做太多的解释,如果不明白的可以参考之前的xfire搭建来促进理解。 搭建过程如下: 1、使用eclipse创
虽然下一个项目需要使用xfire,但是在查资料的过程中还是看到有不少地方都说cxf比xfire更好,cxf继承了xfire,但是不仅仅包含xfire,因此便也一起来尝试尝试。大概是有了xfire的经验吧,cxf的搭建比xfire快了许多。 cxf的许多参数感觉和xfire差不多,因此便不做太多的解释,如果不明白的可以参考之前的xfire搭建来促进理解。 搭建过程如下: 1、使用eclipse创
虽然下一个项目需要使用xfire,但是在查资料的过程中还是看到有不少地方都说cxf比xfire更好,cxf继承了xfire,但是不仅仅包含xfire,因此便也一起来尝试尝试。大概是有了xfire的经验吧,cxf的搭建比xfire快了许多。 cxf的许多参数感觉和xfire差不多,因此便不做太多的解释,如果不明白的可以参考之前的xfire搭建来促进理解。 搭建过程如下: 1、使用eclipse创
在上一篇的调用xfire发布的webService服务中,我只是从服务端返回了一个字符串给客户端,却没有测试从客户端传递数据给服务端。而实际应用中一般是不太可能只出现这样的应用场景的,因此我便更进一步测试了客户端传递数据给服务端。 因为相关的jar包在上一篇已经说过,因此便不再重复说明,这次的测试步骤如下: 一、测试向服务端传递字符串(重点在第二个): 为了进一步理解服务搭建,
在上一篇的调用xfire发布的webService服务中,我只是从服务端返回了一个字符串给客户端,却没有测试从客户端传递数据给服务端。而实际应用中一般是不太可能只出现这样的应用场景的,因此我便更进一步测试了客户端传递数据给服务端。 因为相关的jar包在上一篇已经说过,因此便不再重复说明,这次的测试步骤如下: 一、测试向服务端传递字符串(重点在第二个): 为了进一步理解服务搭建,
我的csdn历程(坚持总会有收获): 一年零三个月之前,2015年3月3日,我在csdn写下第一篇技术博客,只是记录了一些java概念性的东西 历经一年多一点的时间,2016年4月25日,累计写下了100篇原创博客,访问量累计达到5万,成为csdn博客准专家。 今天,2016年6月7日,在成为博客准专家一个半月后,我又写出31篇原创技术博客,博客访问量达到12万,正式成为csdn博客专家
昨天用xfire搭好了一个简单的webService的服务,可以在浏览器访问,今天便想要尝试以下如何调用这个服务及相关的方法。在网上查找了一些资料后,实现过程如下。 1、创建一个maven web项目,并创建一个带有main方法的类。 2、导入xfire依赖的一些jar包,为了简单起见,我就把搭建服务端时的jar包都考了过来,放在lib文件夹下,然后如上一篇搭建时一样把jar加入到buil
1、查看系统帮助文档:HELP contents; 2、查看所有支持的数据类型:HELP Data Types; 3、查看对应的数据类型的详细信息:HELP 类型;如HELP INT; 4、查看存储引擎信息:SHOW ENGINES \G;其中在执行sql语句的时候,可以用“;”、“\g”、“\G”表示语句结束,前两个作用一样,后一个除
1、查看系统帮助文档:HELP contents; 2、查看所有支持的数据类型:HELP Data Types; 3、查看对应的数据类型的详细信息:HELP 类型;如HELP INT; 4、查看存储引擎信息:SHOW ENGINES \G;其中在执行sql语句的时候,可以用“;”、“\g”、“\G”表示语句结束,前两个作用一样,后一个除
1、查看系统帮助文档:HELP contents; 2、查看所有支持的数据类型:HELP Data Types; 3、查看对应的数据类型的详细信息:HELP 类型;如HELP INT; 4、查看存储引擎信息:SHOW ENGINES \G;其中在执行sql语句的时候,可以用“;”、“\g”、“\G”表示语句结束,前两个作用一样,后一个除
1、创建数据库:create Database databaseName;例如需要创建mysqlTest数据库,create Database mysqlTest; 由此还可以看出,这里的名称是不分大小写的,据我所知可以通过设置设置为全大些或者全小写。 2、查看系统中已经存在的数据库:show databases; 3、选择数据库:use databaseName;(本文中
1、创建数据库:create Database databaseName;例如需要创建mysqlTest数据库,create Database mysqlTest; 由此还可以看出,这里的名称是不分大小写的,据我所知可以通过设置设置为全大些或者全小写。 2、查看系统中已经存在的数据库:show databases; 3、选择数据库:use databaseName;(本文中
后边有个项目需要接入4A,要用到webService服务,暂时还不确定是不是会有我的事,但为了有备无患,还是抽时间学习了以下相关的知识。 本来我所了解到的发布webService服务有用cxf和xfire两种,但这个项目明确说了需要用xfire,因此便先学习一下这个。参考网上一些文档,搭建的过程大概如下: 一、环境基础:eclipse4.4.1、maven3.2.5、tomcat7、jdk