A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 18756927505 初级黑马   /  2017-12-4 16:48  /  1623 人查看  /  4 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

技术贴
  开贴啦!开贴啦!开贴啦!

大家好,我就是大名鼎鼎的阿帕奇! 听清楚了吗? 阿 帕 奇 ! 英文名叫apache ,你看,名人就是不一样吧,连名字都是彩色的
  嗨呀,又到了我最喜欢的写帖子TV,咳咳,看见标题了吗,这是技术贴,不要觉得我是标题党,那其实呢?我还真是标题党,好,开个玩笑哈,行,言归正传,咱们开始吧。

1 Java类初始化顺序
  这是所有情况的类初始码顺序,如果实际类中没有定义则跳过:父类静态变量——父类静态代码块——子类静态前面块—前面前面静前面量—前面类前面前面码块——父类构造函数——子类非静态变量——子类非静态代码块——子类构造函数

2 值传递和引用传递
  可能很多人对此不屑一顾,心想老子都工作一年了,对这些还不熟悉吗?但实际情况并非这样,JDK中东西全部熟悉了吗?以一个最简单的例子开始,你觉得下图中代码执行完之后fatherList中的元素是什么?

  这是一个最基础的值传递和引用传递的例子,你觉得好简单,已经想跃跃欲试的挑战了,那么请看下面的,StringBuffer很好理解,但是当你执行一遍之后发现是不是和预想中的输出不一样呢?String不是引用类型吗,怎么会这样呢?如果你无法理解,那么请看下String的实现源码,了解下其在内存中分配的实现原理。

3 集合的使用4 面向对象思想
  一提起面向对象,大家都知道抽象、封装、继承、和多态。但是实际工作经验中又知道多少呢,对于项目中如何巧用估计更不要提了。
  共性的机会每个都需要用的建立基类,如每个控制层方法可能要通过security获取一个登录用户id,用于根据不同的用户操作不同的数据,可以抽象出一个应用层基类,实现获取idprotect方法。同理DAO层可以利用泛型提取出一个包含增删改查的基类。
  多态的Override:基类的引用变量不仅可以指向基类的实例对象,也可以指向其子类的实例对象,如果指向子类的实例对象,其调用的方法应该是正在运行的那个对象的方法。在策略模式中使用很普遍。
  提到面向对象,就不可避免的要说设计模式,在工作中,一个技术大牛写的一个类似策略模式(更复杂一点),十分巧妙的解决了各种业务同一个方法,并且实现了订单、工单、业务的解耦,看得我是非常佩服。我想很多面试中都会问道单例模式吧,还没有理解的建议去看一看
  这部分几乎每个人都会用到,而且大家还都不陌生。下图来源于互联网,供大家复习一下。但是利用集合的特性进行巧妙的组合运用能解决优化很多复杂问题。Set不可重复性,List的顺序性,Map的键值对,SortSet/SortMap的有序性,我想工作中很多部分都会前面的运用到这些吧。
4  异常处理
  1.看着trycatchfinally非常容易,如果和事务传播结合在一起,就会变得极其复杂。
  2.finally不一定必须执行,returncatch/finally中处理情况(建议亲自操刀试一下)。
  3.catch中可以继续抛自定义异常(并把异常一步步传递到控制层,利用切面抓取封装异常,返回给调用者)。
  5 面向对象思想
  一提起面向对象,大家都知道抽象、封装、继承、和多态。但是实际工作经验中又知道多少呢,对于项目中如何巧用估计更不要提了。
  共性的机会每个都需要用的建立基类,如每个控制层方法可能要通过security获取一个登录用户id,用于根据不同的用户操作不同的数据,可以抽象出一个应用层基类,实现获取idprotect方法。同理DAO层可以利用泛型提取出一个包含增删改查的基类。
 多态的Override:基类的引用变量不仅可以指向基类的实例对象,也可以指向其子类的实例对象,如果指向子类的实例对象,其调用的方法应该是正在运行的那个对象的方法。在策略模式中使用很普遍。
  提到面向对象,就不可避免的要说设计模式。我想很多面试中都会问道单例模式吧,还没有理解的建议去看一看

  好了,这期就先聊到这吧
  顺便说一下,发帖子真让人头大 >_<||






4 个回复

正序浏览
我叫加瓦,英文名JAVA
回复 使用道具 举报
可以可以
回复 使用道具 举报
拓展了很多东西呢
回复 使用道具 举报
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马