`
freeroy
  • 浏览: 72245 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论
文章列表
根据对象生成XML文档. 使用Java提供的java.beans.XMLEncoder和java.beans.XMLDecoder类 一、生成的xml文件如下:AStudent.xml <?xml version="1.0" encoding="UTF-8"?> <java version="1.5.0" class="java.beans.XMLDecoder"> <object class="StudentBean"> <void prope ...
Java代码 import java.io.FileOutputStream; import javax.xml.bind.JAXBContext; import javax.xml.bind.Marshaller; import javax.xml.bind.annotation.XmlRootElement; public class JavaToXMLDemo { public static void main(String[] args) throws Exception { JAXBContext c ...
这一系列的最后一篇写给普通编程人员,如果不感兴趣可直接看本文最后几段。 开始设计代码结构之前,先回顾一下之前准备过的事情:我们有负载均衡的WEB服务器,有主从DB服务器并可能分片,有缓存,有可扩展的存储。在组织代码的各个方面,跟这些准备息息相关,我一二三的列出来分别说,并且每一条都以“前面讲到”这个经典句式开头,为了方便对照。别着急看经典句式,我思维跳跃了,插一段。实际开发中,我们总会在性能和代码优雅性上作折中。对于当今的计算机和语言解释器,多几层少几层对象调用、声明变量为Map还是HashMap这种问题是最后才需要考虑的问题,永远要考虑系统最慢的部分,从最慢的部分解决。例如看看你用的ORM是 ...
七、数据库 几乎所有操作最后都要落到数据库身上,它又最难扩展(存储也挺难)。对于mysql,什么样的表用myisam,什么样的表用innodb,在开发之前要确定。复制策略、分片策略,也要确定。表引擎方面,一般,更新不多、不需要事务的表可以用myisam,需要行锁定、事务支持的,用innodb。myisam的锁表不一定是性能低下的根源,innodb也不一定全是行锁,具体细节要多看相关的文档,熟悉了引擎特性才能用的更好。现代WEB应用越来越复杂了,我们设计表结构时常常设计很多冗余,虽然不符合传统范式,但为了速度考虑还是值得的,要求高的情况下甚至要杜绝联合查询。编程时得多注意数据一致性。复制策略方面 ...
开了自己域名的博客,第一篇就得来个重磅一点的才对得起这4美金的域名。作为一个技术从业者十年,逛了十年发现有些知识东一榔头西一棒槌的得满世界看个遍才整理出个头绪,那咱就系统点的从头一步一步的说,一个从日几 ...
1、来先看看您在业务中的烦恼吧,网站还在,用户没了... 2、如何挽留我的用户呀,我不想被杯具了! 3、AAA模型是神马玩意?别忽悠我! 4、可触力说的太飘逸了,能不能详细点....... 5、吸引力本身很浮云,能不能量化,给几个指标先。。。。 6、不用多说了,行动力你都想好了,直接上图!!!
亲爱的朋友各位好: 前几天看到了这篇文章,类似于一个小故事,但是也有很多让人思考的地方,和大家分享! 今天我面试这位项目经理其实己经是到复试阶段了,前一轮是由技术总监面试的。看到技术总监的评语: ...
最近做个人产品, 由于新模块其中一个新数据表需要关联到旧模块的一个数据表,存在主从关系,导致新旧模块进行相关操作(删除)时,需要维系完整性。 考虑到不想污染旧模块(不想旧模块感知新模块的存在),因此这里在新模块中,利用AOP拦截旧模块DAO的删除方法,使当旧模块的数据删除之前,能够先进行新模块的完整性关系删除。   但问题出来了,AOP拦截没办法拦截到对应的DAO方法。一开始以为是配置出错,但又没见报错。于是把DAO的拦截提升一个层次为Service的拦截,奇迹般的跑起来了,难到AOP还会鄙视DAO。   后来发现,原来一切的问题都在于集成,由于旧某块的DAO对应的方法(delete ...
职业化之于软件工程师非常重要。因为:软件是看不见也摸不着的,它的进度也看不见摸不着,需要软件工程师严格自律、善于沟通;软件开发是创造性的劳动,创造性劳动依赖个人主观能动性,没有自我激励是不可能成为出色的软件工程师的;软件在国民经济和人们日常生活中发挥着越来越重要的作用,软件工程师的道德行为规范成为备受关注的问题。 下面是软件工程师十个“不职业”行为。在一些特定领域工作的人们可能会认为这些不具有非常广泛的代表性。例如,IEEE和ACM联合发布的关于软件工程师职业道德规范里,认为软件工程师首先要遵守的是社会公众原则,即所开发的软件要给人类带来福利,不能制造类似于计算机病毒那样的具有危害性的软件。 ...
网上很多言论都说load会使用二级缓存而get不会,包括一些hibernate的教材上也这么写的,但是以前在测试中发现,其实get也会使用二级缓存。 很久以前就发现了这个问题,一直没腾出时间研究,今天特意看了下源码(3.2.6.ga),确实如此 先看一下Session的默认实现SessionImpl get方法会转到fireLoad,loadType的值是LoadEventListener.GET load方法也是转到fireLoad,不同的是loadType的值是LoadEventListener.LOAD Java代码   private   void ...
一般来说,WinNT系统下使用IIS,而Apache在Linux下应用的比较多,但是依然有很多人在WinNT系统下使用Apache而非IIS,可能是基于对Windows系统的熟悉吧。今天就来说一下在Windows系统下如果优化Apache的性能。 mpm_winnt.c是专门针对Windows NT ...
随着互联网web2.0网站的兴起,非关系型的数据库现在成了一个极其热门的新领域,非关系数据库产品的发展非常迅速。而传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心 ...
在生产环境中tomcat内存设置不好很容易出现内存溢出。造成内存原因是不一样的,当然处理方式也不一样。这里根据平时遇到的情况和相关资料进行一个总结。常见的一般会有下面三种情况:        1.OutOfMemoryError: Java heap spa ...
Workers实际上属于Tomcat的链接器(Connector),代表了一个Tomcat实例,这个实例代表了由某种web服务器来执行 servelet程序。举例来说,我们可以使用某个服务器,例如apache 来把servelet请求转递Tomcat进程(worker)来进行后台处理。 上面所描述的这一情景是非常简单的例子;实际上我们可以通过配置多个 Worker 来代表某一种web服务器去执行servelet。这样做的原因是:我们常常希望不同的上下文能够被不同的worker处理,这些worker可以提供不同的开发环境,使得所有开发者可以共享一个服务器而每个人都拥有自己的worker。 我们 ...
一.语法explain < table_name >例如: explain select * from t3 where id=3952602;二.explain输出解释+----+-------------+-------+-------+-------------------+---------+---------+-------+------+-------+| id | select_type | table | type  | possible_keys     | key     | key_len | ref   | rows | Extra |+----+------ ...
Global site tag (gtag.js) - Google Analytics