最近在学习过程中是始终不能很好的定义VO DTO这些对象,在百度看到一篇写的很好的文章,特转过来!
概念:
VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。
DTO(Data Transfer Object):数据传输对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,我泛指用于展示层与服务层之间的数据传输对象。
DO(Domain Object):领域对象,就是从现实世界中抽象出来的有形或无形的业务实体。
PO(Persistent Object):持久化对象,它跟持久层(通常是关系型数据库)的数据结构形成一一对应的映射关系,如果持久层是关系型数据库,那么,数据表中的每个字段(或若干个)就对应PO的一个(或若干个)属性。

阅读全文 »

首先在cmd模式下进入redis的目录,
然后使用
redis-cli -p 7001(指定进入端口号为7901的redis数据库)
进入该端口的redis数据库之后有以下两种清空缓存的命令

1.清空当前redis数据库缓存FLUSHDB

flushdb

2.清空整个redis缓存FLUSHALL

flushall

在做kafka消费的时候,consumer的配置一直是周期性自动提交消费成功。
但问题来了,如果poll到的数据没有被成功消费,那么逻辑上应该被标记为未被消费,等待队列的第二次尝试拉取消费(虽然这样也不对,但是就这样硬着头皮说下去先)。那么这里应该在每次数据集合records被poll拉取之后,在对每个record进行业务处理完成成功之后,对broker进行一次提交(提交下一次poll出去数据的offset位置),这里提交我就用到

public void commitSync(Map<TopicPartition,OffsetAndMetadata> offsets)

具体实现:

for (TopicPartition partition : records.partitions()) {
         List<ConsumerRecord<String, String>> partitionRecords = records.records(partition);
         // 数据处理
         for (ConsumerRecord<String, String> record : partitionRecords)
         {
               System.out.println(record.offset() + ": " + record.value());
         }
         // 取得当前读取到的最后一条记录的offset
         long lastOffset = partitionRecords.get(partitionRecords.size() - 1).offset();
         // 同步提交offset,记得要 + 1
         consumer.commitSync(Collections.singletonMap(partition, new OffsetAndMetadata(lastOffset + 1)));
}

转载自 java那些事 微信公众号,值得参考。
看完觉的自己两年的功夫还不算白费,起码90%的英文单词还认识哈哈哈
好好学习,天天向上
1.Core Java部分
这是最基础的,对于一个java高级开发/设计人员,你需要对这一部分达到精通的水平,重点内容如下:
a.面向对象编程思想(封装继承多态接口)
b.字符串处理
c.java.lang包,java.util包等常用包
d.java异常处理

2.Java高级部分
a.Java I/O流
b.Java多线程技术
c.Java网络编程
d.Java Swing
后两项可以了解即可,如果项目需要可以深入研究

3.前端基本技能

       * HTML + CSS网页开发
       * JavaScript
       * jQuery
       * 浏览器兼容性 CSS hack(了解)

4.熟练使用JSP + Servlet进行开发
5.MVC设计模式,原理,以及相关框架,如Struts
6.SSH框架
7.缓存技术 session & cookie
8.熟练使用一种以上Java开发工具(Eclipse/MyEclipse/Jbuilder/Jcreator/IntelliJIEDA/NetBeans)
9.熟练使用XML
JDOM w3c.dom SAX
10.Java设计模式
工厂模式,单例模式 ==
11.Java反射机制
反射的各种用法
12.了解或熟悉 C, C++, .NET
13.熟悉JDK的配置,环境变量
14.数据库oracle必学,其他最好了解一种以上(MySQL,sql server,access==)
oracle:视图,索引,存储过程,触发器,游标,包,常用函数 ==
15.数据库原理
事务的原理,锁机制,表连接,复杂查询语句(工作经验),性能调优,锁表以及解决方案==
16.JDBC,连接池
17.Ajax,反向Ajax
18.HTTP协议,request 和 response的原理,HTTP status(了解常用的),Https原理
19.熟悉Linux基本命令,使用过Linux/Unix系统,可以编写shell脚本,可以在Linux上部署项目
20.了解windows系统批处理脚本bat
21.了解HTML5,最好学习过
22.熟悉一种JS框架,如Prototype
23.J2EE原理 熟悉一种以上web容器如Tomcat,JBoss,websphere,weblogic==
24.熟悉ant或maven
25.熟悉一门脚本语言,如Python ,ruby
26.了解PHP/ asp

27.了解ftp协议及原理

28.熟练使用Junit测试,熟悉Mockito等测试工具

29,熟悉javac,javadoc,native,native2ascii等常用命令
30.熟悉常用的排序算法,如冒泡排序,快速排序等,最好自己研究过一些的算法。
31.了解Flex(不学也没关系)
32.了解敏捷开发模式
33.工作流workflow至少用过一种,如OSworkflow,了解原理
34.使用过VPN了解其原理
35.熟悉jstl表达式和el表达式
36.熟悉webservice,WSDL,SOAP
37.图片处理,如图片上传,预览,限制大小等
38.版本控制工具,CVS VSS SVN
39,JSON技术,JSON+AJAX
40.分页技术,最好自己实现过不仅仅是用过要知道原理
41.Java Mail
42.Java读写txt,excel,JXL技术
43.JVM原理,JVM内存管理,GC,Java堆栈池
44.熟练使用下面的工具:
office办公软件,word,excel,ppt等
plsql,sqldevelop 数据库开发工具
outlook大公司都用
ue编辑器
浏览器控制台,调试
SHH/PUTTY 远程

45.UML建模工具Rational Rose等

  1. 使用log4j

47.使用过开放Api如百度,腾讯街景,新浪微博等

48.页面静态化技术(伪静态页面)

49.报表技术,使用过报表制作工具,如水晶易表。

50.定时任务,如spring batch ,学会自定义batch任务(不适用第三方工具)

51.了解uuid

52.b/s 和 c/s架构

53.正则表达式

54.了解jndi jms

55.ERP

56.UNICODE编码,乱码解决

57.开源网络编辑器,如ckEditor

58.二进制原理

59.使用过,了解过开源论坛框架,如discuzz

60.GWT,Closure框架

61.了解大数据,云计算

62.搜索引擎搜索技术

63.软件工程,项目管理

一个多月没有写博客了。这一个多月就沉迷学习java当中。一位大佬传承了一份java相关毕业设计的源代码下来,然后研究这份代码一个多月了,然后正好碰上java实训,于是就想用相关知识做一个web端的java实训。
项目利用Maven管理包,Spring+SpringMVC+Mybatis框架,简称SSM框架,然后因为是文件管理系统,设计到文件上传下载,这里选用云端的aliyunOss。以上大概就是项目的简介。框架的搭建maven的使用不赘述了网上一大把。下面整理下项目编写的思路。

阅读全文 »