[置顶] JavaEE 使用 Redis 数据库进行内容缓存和高访问负载

NoSQL(Not Only SQL),泛指非关系型数据库,是为了处理高并发读写、海量数据的高效率存储和访问、高扩展性和高可用性而产生的。本篇将主要阐述如何使用 Redis(https://github.com/antirez/redis)数据库进行内容缓存和高访问负载,Redis 使用 C 语言开发的一个开源的高性能的键值对数据库,通过提供多种键值数据类型来适应不同场景下的存储需求,目前 Redis 支持的键值数...
阅读(3118) 评论(12)

[置顶] Java EE 基于 MySQL 的 SQL 优化最佳实践

怎样才能写出高性能的 Web 应用程序,SQL 优化显得格外重要,下面是自己的一些总结,希望本文能给各位数据库管理员在性能优化方面一些启示。合理的使用连接。内连接与左连接。查询学生信息+成绩,隐式的内连接,学生信息表student,学生成绩表。只返回两张表里学号相同的记录。左连接,以左表为主表,返回左表里所有的行,并以此和右表连接,即使右表没有和左表相对应的行数据,也需要返回null。右连接改成studentcour...
阅读(1008) 评论(0)

Java EE 架构设计——基于okhttp3 的网络框架设计

本篇文章带大家设计一套满意业务需求、代码健壮高效(高内聚低耦合)并且可拓展的网络框架。以最新的okhttp3为基础设计出高效可靠的网络缓存、多线程文件下载等架构模块。从此不局限于使用别人的框架,而步入了设计框架,让自己可以走的更远,我觉得这才是一名合格开发者所应该具备的能力。在开发中,选择一个开源框架的标准有很多,例如学习成本、文档是否齐全、github星数量、现在是否有人维护、流行程度、代码设计是否有借鉴性、代码体...
阅读(616) 评论(2)

Docker 实战——将 JavaWeb 应用容器化

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。...
阅读(2458) 评论(10)

Kotlin Primer——带你一朝看破高阶函数

大家好,今天就来带大家快速看破 Kotlin 的高阶函数并可以灵活运用于自己的项目中去。高阶函数是指把函数作为参数或者返回值的一类函数。那么为什么在 Kotlin 中可以拥有高阶函数呢?在 Kotlin 中,函数可是一等公民,不再需要到处创建匿名内部类对象。函数的引用可以自由赋值传递并且在合适的时候调用。函数与闭包的特性可以算是 Kotlin 语言最大的特性了。高阶函数是指传入或者返回函数的函数。这里我们介绍三种函数...
阅读(1174) 评论(0)

Kotlin Primer——数据类型 面向对象 类特性 解析

Kotlin 语言是一种静态类型编程语言,可运行于 JVM 环境同时也能用来开发 Android 应用。 相比于 Java,Kotlin 有着更好的语法结构,安全性和开发工具支持。Kotlin 中没有基础类型,数组是定长的,泛型是安全的,即便运行时也是安全的。此外,该语言支持闭包,还可通过内联进行优化。不过,它不支持检查异常。不论如何,重要的是 Java 和 Kotlin 之间的互操作性:Kotlin 可以调用 Ja...
阅读(1948) 评论(1)

Android 架构设计——MVP架构实现深度解耦

随着 UI 创建技术的功能日益增强,UI 层也履行着越来越多的职责。为了更好地细分视图(View)与模型(Model)的功能,让 View 专注于处理数据的可视化以及与用户的交互,同时让 Model 只关系数据的处理,基于 MVC(Model View Controller) 模式的 MVP(Model-View-Presenter) 模式应运而生。目前MVP模式在 Android 应用开发中越来越重要了,大家也都在...
阅读(2720) 评论(3)

Android 高级开发——响应式编程框架 RxJava2 解析

使用了 RxJava2 有一段时间了,深深感受到了其“牛逼”之处。下面,就从 RxJava2 的基础开始,一步步与大家分享一下这个强大的异步库的用法!RxJava 是 一个在 Java VM 上使用可观测的序列来组成异步的、基于事件的程序的库,也就是用于实现异步操作的库。RxJava可以浓缩为异步两个字,其核心的东西不外乎两个, Observables(被观察者) 和 Observable(观察者)。Observab...
阅读(6117) 评论(0)

Java 设计模式情景分析——装饰模式

在现实生活中,人需要各式各样的衣物,不管你穿着怎样,但是,对于个人的本质来说是不变的,充其量只是在外面披上一层遮盖物而已,这就是装饰模式,装饰模式也称为包装模式,结构型设计模式之一,其使用一种对客户端透明的方式来动态地扩展对象的功能,同时它也是继承关系的一种替代方案之一,动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式相比于生成子类更为灵活。装饰模式的使用情景有需要透明且动态地扩展类的功能时。装饰模式的通...
阅读(808) 评论(0)

Java 设计模式情景分析——代理模式

代理模式也称为委托模式,其实代理在我们生活中也并不少见,最常见的莫过于代理上网了,连上代理服务器地址,就可以轻松浏览全世界的网站了,代理模式为其他对象提供了一种代理以控制对这个对象的访问。代理模式的使用情景有当无法或者不想直接访问某个对象或访问某个对象存在困难时可以通过一个代理对象来间接访问,为了保证客户端使用的透明性,委托对象与代理对象需要实现相同的接口。动态代理通过一个代理类来代理N多个被代理类,其实质上对代理者...
阅读(921) 评论(0)

Java 设计模式情景分析——观察者模式

观察者模式是一种使用频率非常高的模式,有时也被称作发布/订阅模式,属于行为型模式,它最常用的是 GUI 系统、订阅——发布系统,它一个重要作用就是解耦,使得它们之间的依赖性更小。观察者模式定义了对象间一种一对多的依赖关系,使得每当一个对象改变状态时,则所有依赖于它的对象都会得到通知并被自动更新。观察者模式的使用情景有关联行为场景;事件多级触发场景;跨系统的消息交换场景(如消息队列、事件总线的处理机制)。程序中使用观察...
阅读(1896) 评论(0)

Java 设计模式情景分析——策略模式

当我们遇到实现某一个功能可以有多种算法或者策略,需要根据实际情况选择不同的算法或者策略时,可以选择通过硬编码的方式(if-else 或者 switch-case)来实现,但是这样会使这个类变得臃肿、维护成本上升出错率也变大了。基于这样的情景,如果将这些算法或者策略抽象出来,提供一个统一的接口,不同算法或者策略有不同的实现类,这样在程序客户端就可以通过注入不同的实现对象来实现算法或者策略的动态替换,这种可扩展性高、可维...
阅读(400) 评论(0)

Java 设计模式情景分析——工厂方法模式

工厂方法模式(Factory Pattern),是创建型设计模式之一。其在我们平时开发中应用很广泛,如 Android 中的 Activity 里的各个生命周期方法,以 onCreate 为例,它就可以看作是一个工厂方法,我们在其中可以构造我们的 View 并通过 setContentView 返回 framework 处理等。定义:定义一个用于创建对象的接口,让子类决定实例化哪个类。在任何需要生成复杂对象的地方,都...
阅读(677) 评论(1)

Java 设计模式情景分析——建造者模式

当我们遇到类似汽车的装配,需要车轮、方向盘、发动机,还有各种小零件时,为了在构建过程中隐藏实现细节,就可以使用建造者模式 (Builder模式) 将部件和组装过程分离,使得构建过程和部件都可以自由扩展,两者之间的耦合也降到最低。接下来我们看一下定义,建造者模式是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式的使用场景:相同的方法,不同的执行顺序,产生不同的事件结果时;多个部件,都...
阅读(798) 评论(0)

Java 设计模式情景分析 ——单例模式

单例设计模式可以说是应用程序中应用最广的模式之一,在应用单例模式时,单例对象的类必须保证只有一个实例存在,而且可以自行实例化并向整个系统提供这个实例。一般在不能自由构造对象的情况下,就会使用单例设计模式,例如创建一个对象需要消耗资源过多,还有访问IO和数据库等资源等情况。 单例设计模式的优点:在内存中只有一个实例,减少了内存开支和性能开销;可以避免对同一资源文件的同时写操作;可以在系统设置全局的访问点,优化和共享资源...
阅读(981) 评论(0)
52条 共4页1 2 3 4 下一页 尾页
    个人资料
    • 访问:389352次
    • 积分:3358
    • 等级:
    • 排名:第10417名
    • 原创:52篇
    • 转载:0篇
    • 译文:0篇
    • 评论:138条
    博客专栏
    文章分类
    最新评论