技术文章

Java中创建对象的5种方式

作为Java开发者,我们每天创建很多对象,但我们通常使用依赖管理系统,比如Spring去创建对象。然而这里有很多创建对象的方法,我们会在这篇文章中学到。Java中有5种创建对象的方式,下面给出它们的例子还有它们的字节码  如果你运行了末尾的的程序,你会发现方法1,2,3用构造函数创建对象,方法4,5没有调用构造函数。1.使用new关键字这是最常见也是最简单的创建对象的方式了。通过这种方式,我们可以调用任意的构造函数(无参的和带参数的)。...

每个Java程序员需要了解的8个Java开发工具

Java是计算机应用程序编程语言,被广泛用于创建Web应用、服务器处理、用户端的API开发乃至数据库等多个领域。下面列出了8个有助于你开发Java应用程序最好的Java工具。1. SparkJava这是一款体形轻巧,功能强大的Web应用框架。Spark拥有简单而直接的方法。您可以通过一些繁琐的XML配置来使用Spark框架编写应用程序。Spark能让你花费最少的精力来开发Java的Web应用程序。 官方网站:http://sparkjava.com/...

Java GC 机制与内存分配策略

收集算法是内存回收的方法论,垃圾收集器是内存回收的具体实现自动内存管理解决的是:给对象分配内存 以及 回收分配给对象的内存为什么我们要了解学习 GC 与内存分配呢?在 JVM 自动内存管理机制的帮助下,不再需要为每一个new操作写配对的delete/free代码。但出现内存泄漏和溢出的问题时,如果不了解虚拟机是怎样使用内存的,那么排查错误将是一项非常艰难的工作。GC(垃圾收集器)在对堆进行回收前,会先确定哪些对象“存活”,哪些已经“死去”。那么就有了 对象存活判定算法 。...

Java同步工具类——闭锁

本文内容来自《Java并发编程实战》闭锁的作用相当于一扇门:在闭锁到达结束状态之前,这扇门一直是关闭的,并且没有任何线程能通过,当到达结束状态时,这扇门会打开并允许所有的线程通过。当闭锁到达结束状态时,将不会再改变状态——这扇门将会永远保持打开状态。闭锁可以用来确保某些活动知道其他活动都完成后才继续执行,例如:...

Java集合类操作优化经验总结

本文首先针对 Java 集合接口进行了一些介绍,并对这些接口的实现类进行详细描述,包括 LinkedList、ArrayList、Vector、Stack、Hashtable、HashMap、WeakHashMap 等,然后对一些实现类的实现方式和使用经验进行讲解,同时重点介绍 WeakHashMap。希望通过本文介绍,可以让读者对集合的操作方式、注意事项等有一些了解。在实际的项目开发中会有很多的对象,如何高效、方便地管理对象,成为影响程序性能与可维护性的重要环节。Java 提供了集合框架来解决此类问题,线性表、链表、哈希表等是常用的数据结构,在进行 Java 开发时,JDK 已经为我们提供了一系列相应的类来实现基本的数据结构,所有类都在 java.util 这个包里,清单 1 描述了集合类的关系。...

剖析桌面化 Android 操作系统的发展与未来

背景操作系统是用来提供一个支持各种应用程序运行的基础软件环境。Linux 当前的在各个领域的发展情况如何?到 2016 年底为止,从不同的数据统计来源,我们看到了 Linux 创造在巨型机(占 99.6%)、服务器(占 80%以上)、移动终端(以 Android 为主,占 87.5%)领域的统治地位,貌似 Linux 已经无处不在了。但 Linux 在其他两个大的领域还没有一统天下。在 IoT/Embedded System 等弱设备/硬实时工控领域,由于特定硬件能力和专用应用的差异性很大,Linux 的通用性和多功能在某种程度上成了负担或多余的部分。...

Java Mybatis 框架入门教程

一、Mybatis介绍MyBatis是一款一流的支持自定义SQL、存储过程和高级映射的持久化框架。MyBatis几乎消除了所有的JDBC代码,也基本不需要手工去设置参数和获取检索结果。MyBatis能够使用简单的XML格式或者注解进行来配置,能够映射基本数据元素、Map接口和POJOs(普通java对象)到数据库中的记录。二、MyBatis工作流程(1)加载配置并初始化触发条件:加载配置文件配置来源于两个地方,一处是配置文件,一处是Java代码的注解,将SQL的配置信息加载成为一个个MappedStatement对象(包括了传入参数映射配置、执行的SQL语句、结果映射配置),存储在内存中。...

java反射如何提升性能

Java应用反射的时候,性能往往是java程序员担心的地方,那么在大量运用反射的时候,性能的微弱提升,对这个系统而言都是如旱地逢甘霖。 下面用代码简单验证一下反射性能都损耗在哪里。 package littlehow.reflect.demo;/** * WorkBean 作为反射性能测试的bean * * @author littlehow...

Java程序员应当知道的10个面向对象设计原则

面向对象设计原则是OOPS编程的核心, 但我见过的大多数Java程序员热心于像Singleton (单例) 、 Decorator(装饰器)、Observer(观察者) 等设计模式,而没有把足够多的注意力放在学习面向对象的分析和设计上面。学习面向对象编程像“抽象”、“封装”、“多态”、“继承” 等基础知识是重要的,但同时为了创建简洁、模块化的设计,了解这些设计原则也同等重要。我经常看到不同经验水平的java程序员,他们有的不知道这些OOPS 和SOLID设计原则,有的只是不知道一个特定的设计原则会带来怎样的益处,甚至不知道在编码中如何使用这些设计原则。...

ssm框架集成(重写)

ssm集成步骤创建maven项目添加依赖添加/修改配置文件添加各包编写类测试创建maven项目创建archetype 为 webapp的maven项目 添加依赖在pom.xml文件中添加以下依赖<!-- junit --><dependency>...

为什么英语对于编程来说非常重要

首页来信关于   (function() {     var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;     ga.src = 'http://tjs.sjs.sinajs.cn/open/api/js/wb.js';     var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);   })();  ...

java学习之道 --- 如何学习java?

最近一直在重新学习Java的基础,也写了一系列的博客(重新认识java系列)。很荣幸得到了许多同学的反馈。其中有许多人是初学者,来问我一些问题,也有一些是已经有过一定的基础,看了我的博客,也有了一些新的认知,来和我讨论。当然,大部分人都是在问我怎么学习,自己不知道该怎么学了,让我出个主意啥的,真正讨论问题的并且加了我好友的,大概只有两个吧。因为总有人陆陆续续的加我并且问我怎么学习啊啥的,一个一个回复同样的内容我觉得没有什么必要,所以在这里总结一下,方便自己也方便大家。前排提示:我不是什么大神,有n年经验的大牛。我只是一个在校本科生。不保证我说的都是对的,但是我所说的,都是我自己的亲身经历。不保证对所有人都适用,具体情况,请大家自行斟酌~...

一个经典例子让你彻彻底底理解Java回调机制

以前不理解什么叫回调,天天听人家说加一个回调方法啥的,心里想我草,什么叫回调方法啊?然后自己就在网上找啊找啊找,找了很多也不是很明白,现在知道了,所谓回调:就是A类中调用B类中的某个方法C,然后B类中反过来调用A类中的方法D,D这个方法就叫回调方法,这样子说你是不是有点晕晕的,其实我刚开始也是这样不理解,看了人家说比较经典的回调方式:Class A实现接口CallBack callback——背景1class A中包含一个class B的引用b ——背景2...

浅谈Web网站架构演变过程

前言我们以javaweb为例,来搭建一个简单的电商系统,看看这个系统可以如何一步步演变。该系统具备的功能:用户模块:用户注册和管理商品模块:商品展示和管理交易模块:创建交易和管理阶段一、单机构建网站网站的初期,我们经常会在单机上跑我们所有的程序和软件。此时我们使用一个容器,如tomcat、jetty、jboos,然后直接使用JSP/servlet技术,或者使用一些开源的框架如maven+spring+struct+hibernate、maven+spring+springmvc+mybatis;最后再选择一个数据库管理系统来存储数据,如mysql、sqlserver、oracle,然后通过JDBC进行数据库的连接和操作。...
青岛软件培训

可能你正在寻找一家靠谱的IT培训机构,学习一些专业的软件开发技术,找一份得体的工作。恰巧我们就是一家踏踏实实做教育的IT人才培养机构,我们咨询电话是 0532-85025005,如果你确实对IT感兴趣,我们不妨交流一下。

申请免费试听课程