J2EE
DayThinking
这个作者很懒,什么都没留下…
展开
-
java与C语言在字符串结束符上的区别
综述:在C语言中字符串或字符数组最后都会有一个额外的字符‘\0’来表示结束,而在java语言中没有结束符这一概念。具体见下面分析。1. C 语言 在C语言中字符串和字符数组基本上没有区别,都需要结束符;如:char s[4]={'a','b','c','d'};此字符数组的定义编译可以通过,但却没有关闭数组,若其后需要申请内存,那么以后的数据均会放入其中,尽管它的长度不够,但若为 cha原创 2015-10-15 09:50:41 · 72765 阅读 · 32 评论 -
Java集合框架中的三层体系
我们来看下集合框架的类图继承体系:我们来分析下集合类继承体系的设计:整体的代码结构都像一棵树,有一个唯一的根节点,这个根节点封装了这个类族的公有特性有一层抽象类或者类似抽象类作用的类,它们实现了通用的方法。方便用户扩展自己的业务。有具体的实现,用户可以直接使用这些具体实现。这些相似的地方其实可以归纳为三个结构层次:一个高度抽象的根节点接口,可以再抽象出一组带有具转载 2017-02-04 14:54:55 · 1455 阅读 · 0 评论 -
多线程编程与同步控制(Java与C)
一、线程池网摘文章/博客1.40个Java多线程问题总结2.生产者消费者模式实现3.volatile关键字解析4.java并发之生产者消费者模型5.linux下C语言多线程 linux中fork--子进程是从哪里开始运行6.一张图读懂Java多线程7.Java并发编程:如何创建线程?8.Java并发编程:synchronized9.Java多线程的常见例子一个进程内的多个线程是共享该进程的内存...原创 2015-12-23 09:47:39 · 1880 阅读 · 0 评论 -
Java开发工具日常设置汇总
在idea中用maven进行编译或打包(install)的时候,有时会出现问题,为了分析问题会给出-X的提示,问题见下图所示:此问题的解决方案如下:原创 2017-05-31 16:55:13 · 518 阅读 · 0 评论 -
struts与spring mvc
总结与摘抄部分structs的好文章1.Structs与Servlet对比 http://blog.csdn.net/conanswp/article/details/12853525原创 2015-05-22 09:21:18 · 749 阅读 · 0 评论 -
Java语言基础及特性-01
1.Java的String和StringBuffer和StringBuilder详解转载 2015-05-30 23:54:36 · 712 阅读 · 0 评论 -
JavaWeb相关框架及必备套路
一.SpringMVC1.1:SpringMVC的扩展接口:《SpringMVC源码剖析(一)- 从抽象和接口说起》《盘点springmvc的常用接口》《spring mvc 提供的几个常用的扩展点》1.2:一些Spring MVC的使用技巧1.3:SpringMVC原理浅析1.4:一些Spring MVC的使用技巧 (本文作者的其他文章值得一读,如:Spring Boot使用心得和自定义Http...转载 2016-01-11 09:00:50 · 943 阅读 · 0 评论 -
记一次生产环境性能压测优化的经历
对线上服务进行性能压力测试的一次优化过程。 项目背景: 1.服务器的硬件配置(48核120G内存2T硬盘); 2.网络部署结构,用户请求报文首先进入负载均衡Nginx,Nginx后端负载两台Tomcat。 现象描述: 对线上的两台服务器做性能压测时,发现单台Tomcat的QPS达到600左右处理业务就明显变慢,一次请求处理时间大约上升到七秒左右(正常情况下一秒内就处理完成),给人的感觉就...原创 2017-11-10 21:06:50 · 6208 阅读 · 0 评论 -
java语言基础及特性-02
1.hashMap与hashTable Java中数据存储方式最底层的两种结构,一种是数组,另一种就是链表,数组的特点:连续空间,寻址迅速,但是在删除或者添加元素的时候需要有较大幅度的移动,所以查询速度快,增删较慢。而链表正好相反,由于空间不连续,寻址困难,增删元素只需修改指针,所以查询慢、增删快。有没有一种数据结构来综合一下数组和链表,以便发挥他们各自的优势?答案是肯定的!就是:哈希表。...转载 2015-10-30 09:57:22 · 643 阅读 · 0 评论 -
分布式协调服务(分布式系统中的服务总管)Zookeeper
Zookeeper的数据模型 Zookeeper的数据模型是什么样子呢?它很像数据结构当中的树,也很像文件系统的目录。 树是由节点所组成,Zookeeper的数据存储也同样是基于节点,这种节点叫做Znode。 但是,不同于树的节点,Znode的引用方式是路径引用,类似于文件路径: /动物/仓鼠 /植物/荷花 这样的层级结构,让每一个Znode节点拥有唯一的路径,就像命名空间一样...原创 2018-05-21 10:40:03 · 2428 阅读 · 0 评论 -
jmeter基本使用及webservice脚本
1.服务端webservice接口测试,见下面截图: Manisha 注意:由于的服务端webservice接口是由axis1.4开发的,这个版本的axis存在一个bug,不能将send soapaction为空,可随便设置一个值,如:123.在请求消息体xml中后面跟着是参数。关于jmeter的一个学习网站:htt原创 2015-11-18 18:24:44 · 1062 阅读 · 0 评论 -
java内存管理机制及垃圾回收算法与回收器
问题的引入:问题一:String str1 = "abc"; String str2 = "abc"; System.out.println(str1==str2); //true问题二:String str1 =new String ("abc"); String str2 =new String ("abc"); System.out.println(str1==str2);转载 2015-10-26 09:49:13 · 1077 阅读 · 0 评论 -
REST接口
关于rest的概念和使用,网上很多,在这里我就不在废话了,只说下rest的一些实现,总体来说有两类实现:一类是针对rest单独提出的发展起来的框架:CXF——XFire和Celtix的合并(一个由IONA赞助的开源ESB,最初寄存在ObjectWeb上)。Jersey——Sun公司的JAX-RS参考实现。RESTEasy——JBoss的JAX-RS项目。Restlet—原创 2015-11-12 22:19:32 · 1518 阅读 · 0 评论 -
C与java的区别
既然多态是面向对象的三大本质特征之一(其它两个是数据抽象和继承),那么 C++为什么不将方法调用的默认方式设置为动态绑定,而要通过关键字virtual进行标记呢?Bruce Eckel在《Thinking in C++》中提到,这是由于历史原因造成的,C++是从C发展而来的,而C程序员最为关心的是性能问题,由于动态绑定比静态绑定多几条指令,性能有所下降, 如果将动态绑定设定为默认方法调用方式,原创 2015-10-30 10:50:19 · 719 阅读 · 0 评论 -
try和finally执行顺序
结论:1、不管有木有出现异常,finally块中代码都会执行;2、当try和catch中有return时,finally仍然会执行;3、finally是在return后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,管finally中的代码怎么样,返回的值都不会改变,任然是之前保存的值),所以函数返回值是在finally执行前确定的;4、finally原创 2016-02-15 09:12:49 · 2149 阅读 · 0 评论 -
java 字符串常量池
试题一、String s = new String("abc")创建了几个对象?String s = new String("abc")实际上是"abc"本身就是字符串池中的一个对象,在运行 new String()时,把字符串池的字符串"abc"复制到堆中,并把这个对象的应用交给s,所以创建了两个String对象,一个在字符串池中,一个在堆中。(注:我们假设的是字符串池中默认是没有abc字符转载 2016-02-16 11:32:44 · 6579 阅读 · 1 评论 -
MVC中的View层
1.在jsp页面中会用到的两种标签有:struts2与jstl。一定要区分两者的标签形式,下面从三种场景来区分下。a.在jstl中使用struts2 jstl: el:${ee.id} struts2: 通过struts2标签取jstl标签的变量时,如果有设置scope,可以从scope中取值 如果没有就需要用#attr来取值 b.从jstl标签中获取值转载 2016-03-11 19:36:41 · 3838 阅读 · 0 评论 -
浅谈JavaEE中的JDBC模板类的封装实现以及合理的建立项目包结构
从今天开始我们一起来聊下有关,javaEE开发中的一些知识,JavaEE的开发用于企业级的开发,但是现在企业中一般也不会使用JDBC开发,大部分都是使用自己公司开发的一套的框架,但是这些框架的架构一般也是会模仿着有名JavaEE开源三大开发框架SSH(Struts2+Spring+Hibernate)或者现在也很流行的SSM开发框架(Spring+SpringMVC+MyBatis)来进行转载 2016-07-09 14:55:13 · 1432 阅读 · 0 评论 -
ajax post 跨域访问开发调试
在近期的项目中遇到一个浏览器跨域访问的问题,这个项目是跟第三方厂商合作进行开发,我们负责后台的业务功能实现,而前端页面展示由第三方厂商来实现,为了调试后台的业务接口,我开发过程中按照如下的接口进行调用测试,发现一直出现跨域禁止访问的提示。(注意:开发过程中使用谷歌浏览器)。请求测试页面: 我的视光师 $.ajax({ typ原创 2016-10-19 16:01:49 · 5906 阅读 · 0 评论 -
子类调用父类默认构造函数
对文件名为Test.java的java代码描述正确的是()class Person { String name = "No name"; public Person(String nm) { name = nm; }}class Employee extends Person { String empID = "0000"; publ转载 2016-02-18 09:04:33 · 2879 阅读 · 0 评论 -
AOP
面向切面编程(AOP是Aspect Oriented Program的首字母缩写),我们知道,面向对象的特点是继承、多态和封装。而封装就要求将功能分散到不同的对象中去,这在软件设计中往往称为职责分配。实际上也就是说,让不同的类设计不同的方法。这样代码就分散到一个个的类中去了。这样做的好处是降低了代码的复杂程度,使类可重用。但是人们也发现,在分散代码的同时,也增加了代码的重复性。什么意思呢?比如说,转载 2015-04-16 15:27:34 · 715 阅读 · 0 评论 -
IO的五种模型
为了区分IO的五种模型,下面先来看看同步与异步、阻塞与非阻塞的概念差别。同步:所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。按照这个定义,其实绝大多数函数都是同步调用(例如sin, isdigit等)。但是一般而言,我们在说同步、异步的时候,特指那些需要其他部件协作或者需要一定时间完成的任务。最常见的例子就是 SendMessage。该函数发送一个消息给某...原创 2014-08-18 19:33:51 · 12602 阅读 · 2 评论