山东青岛安卓培训就业中心 专业Android软件工程师培训,手机软件开发人才就业实训中心0532-85025005

Java中String、StringBuffer、StringBuilder的区别

 Java中String、StringBuffer、StringBuilder是编程中经常使用的字符串类,他们之间的区别也是经常在面试中会问到的问题。现在总结一下,看看他们的不同与相同。

Tags:

发布: 青软于老师 分类: 未分类 评论: 0 浏览: 27

JavaScript 中的 HTTP 跨域请求

 

自从我接触前端以来,接手的项目里面很大部分都是前后端分离的,后端只提供接口,前端根据后端接口渲染出实际页面。个人觉得这是一个挺好的模式,前后端各自负责各自的模块,分工明确,而且也给前端更大的发挥空间。

Tags:

发布: 青软于老师 分类: 未分类 评论: 0 浏览: 31

Java中String.format的用法

 1.整数进行格式化%[index$][标识][最小宽度]转换方式
        我们可以看到,格式化字符串由4部分组成,其中%[index$]的含义我们上面已经讲过,[最小宽度]的含义也很好理解,就是最终该整数转化的字符串最少包含多少位数字。我们来看看剩下2个部分的含义吧:

Tags:

发布: 青软于老师 分类: 未分类 评论: 0 浏览: 19

微信小程序,不可不知的一二三四

 

忽如一夜春风来。国内开发者圈最近的热门话题莫过于微信的小程序,也很合理,当下没有任何一个APP能达到微信这种万人瞩目的量级。当我们的睡前最后一眼和醒来第一眼都给了她的时候,如张小龙所说,微信已经成为了一个生活方式。而微信的小程序最直观的联想就是一个搭载在微信里的App Store,这意味着一个覆盖6亿人口的大市场裂开了一个新的流量入口,这对所有开发者来说好比获得了一次重新洗牌的机会。错过了苹果App Store的你,还舍得再次错过微信App Store吗?

Tags:

发布: 青软于老师 分类: 未分类 评论: 0 浏览: 23

Java编程规范

 

最近在看一本有关Java编程规范的书,书中精炼阐述了使用java语言时应该遵循的一些原则。接下来的一段时间我将在这里总结我的学习内容,也希望这一系列文章能够对有需要的人有所帮助。 
不考虑任何编码规范的代码往往存在很多Bug,严重情况下还会制约软件开发的进度。良好的编程规范不仅能使团队里的每个人都能轻松的阅读并理解其他人的代码、减少Bug的产生,而且让后期的维护工作更加行之有效,从而使代码更具准确性、健壮性、可维护性与可扩展性。所以拥有良好一致的编程规范对于一个团队至关重要。

Tags:

发布: 青软于老师 分类: 未分类 评论: 0 浏览: 25

面试感悟:3年工作经验程序员应有的技能

 

前言

因为和同事有约定再加上LZ自己也喜欢做完一件事之后进行总结,因此有了这篇文章。这篇文章大部分内容都是面向整个程序员群体的,当然因为LZ本身是做Java开发的,因此有一部分内容也是专门面向咱们Java程序员的。

简单先说一下,LZ坐标杭州,13届本科毕业,算上年前在阿里巴巴B2B事业部的面试,一共有面试了有6家公司(因为LZ不想请假,因此只是每个晚上去其他公司面试,所以面试的公司比较少),其中成功的有4家,另外两家失败的原因在于:

Tags:

发布: 青软于老师 分类: 未分类 评论: 0 浏览: 10

Java中阻塞队列的使用

 

在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。

认识BlockingQueue阻塞队列,顾名思义,首先它是一个队列,而一个队列在数据结构中所起的作用大致如下图所示: 
从上图我们可以很清楚看到,通过一个共享的队列,可以使得数据由队列的一端输入,从另外一端输出; 
常用的队列主要有以下两种:(当然通过不同的实现方式,还可以延伸出很多不同类型的队列,DelayQueue就是其中的一种) 
1. 先进先出(FIFO):先插入的队列的元素也最先出队列,类似于排队的功能。从某种程度上来说这种队列也体现了一种公平性。 
2. 后进先出(LIFO):后插入队列的元素最先出队列,这种队列优先处理最近发生的事件。 
多线程环境中,通过队列可以很容易实现数据共享,比如经典的“生产者”和“消费者”模型中,通过队列可以很便利地实现两者之间的数据共享。假设我们有若干生产者线程,另外又有若干个消费者线程。如果生产者线程需要把准备好的数据共享给消费者线程,利用队列的方式来传递数据,就可以很方便地解决他们之间的数据共享问题。但如果生产者和消费者在某个时间段内,万一发生数据处理速度不匹配的情况呢?理想情况下,如果生产者产出数据的速度大于消费者消费的速度,并且当生产出来的数据累积到一定程度的时候,那么生产者必须暂停等待一下(阻塞生产者线程),以便等待消费者线程把累积的数据处理完毕,反之亦然。然而,在concurrent包发布以前,在多线程环境下,我们每个程序员都必须去自己控制这些细节,尤其还要兼顾效率和线程安全,而这会给我们的程序带来不小的复杂度。好在此时,强大的concurrent包横空出世了,而他也给我们带来了强大的BlockingQueue。(在多线程领域:所谓阻塞,在某些情况下会挂起线程(即阻塞),一旦条件满足,被挂起的线程又会自动被唤醒) 
下面两幅图演示了BlockingQueue的两个常见阻塞场景: 

Tags:

发布: 青软于老师 分类: 未分类 评论: 0 浏览: 15

Java程序员应该知道的10个面向对象理论

 

面向对象理论是面向对象编程的核心,但是我发现大部分Java程序员热衷于像单例模式、装饰者模式或观察者模式这样的设计模式,而并没有十分注意学习面向对象的分析和设计。学习面向编程的基础(如抽象,封装,多态,继承等)是非常重要的,而运用它们来设计干净的模块也同样重要。我也认识很多不同等级的程序员,他们没有听过这些面向对象理论,或者不知道某个设计理论有什么好处,或者如何在编码中使用这些设计理论。

我们起码要设计出高度一致而且松散耦合的代码。Apache和Sun的源代码就是学习Java面向对象理论的非常好的例子。JDK遵循了一些设计模式,譬如在BorderFactory中使用工厂模式,Runtime类中使用单例模式,java.io中的许多类中使用装饰者模式。如果你真的对Java编程感兴趣,请先阅读Joshua Bloch的Effective Java,正是他参与编写了Java API。另外两本我喜欢的关于设计模式的书还有,Kathy Sierra等编写的的Head First Design Pattern和Head First Object Oriented Analysis and Design。这些书帮助理解面向对象理论,并帮助我写出更好的代码。

Tags:

发布: 青软于老师 分类: 未分类 评论: 0 浏览: 15

成为优秀Java程序员的10个要点

 

如果你是一个热衷于技术的Java程序员, 那么下面的10个要点可以让你在众多Java开发人员中脱颖而出。

1.拥有扎实的基础和深刻理解OO原则

对于Java程序员,深刻理解Object Oriented Programming(面向对象编程)这一概念是必须的。没有OOPS的坚实基础,就领会不了像Java这些面向对象编程语言的美。光学习OO原则的定义用处不大,关键是要学会如何应用这些原则用一种OO的方式去设计解决方案。因此,我们应该对对象建模、继承、多态、设计模式有一个很好的认识。

Tags:

发布: 青软于老师 分类: 未分类 评论: 0 浏览: 21

深入理解 JavaScript 中的函数

 

本文旨在提供web开发人员必须了解的所有JavaScript函数的基本知识。

函数于软件开发者而言并不是什么奇幻世界。如果你的日常活动涉及到编码,哪怕是一点点,那么在一天结束的时候,你一定创建/修改了一个或多个函数。

简而言之函数只不过是一组执行某个操作的语句。函数可能会有一些输入参数(在函数体中使用),并在执行后返回值。

JavaScript函数也具有这些特性,但它们不仅仅是常规函数。JavaScript函数是对象。你可以查看我曾经写的关于JavaScript对象的文章,里面我提到几乎JavaScript中的所有一切都是对象。

Tags:

发布: 青软于老师 分类: 未分类 评论: 0 浏览: 18