
Java
文章平均质量分 80
JimmyU1
Work Twice as hard as others.
展开
-
Hibernate框架整合JPA注解基础实践
Hibernate框架整合JPA注解基础事件1.JPA注解Entity @javax.persistence.Entity(name=”xxx”)name指定实体Bean的名称,默认值为 bean class 的非限定类名,select o from xxx o where o.id=?1Table @javax.persistence.Table(catalog=”xx”,原创 2017-02-24 23:33:49 · 568 阅读 · 0 评论 -
nginx实践
Nginx负载均衡实践本次实践是为了体验在目前分布式集群的环境部署的条件下,使用nginx实现负载均衡配置,体验服务器集群处理请求操作的过程。一、服务器环境搭建本次实践使用了两台AWS服务器,每台机器上部署了相同的服务,并且在其中一台机器上搭建了nginx,进行负载均衡。1.创建虚拟机本次实验选择的虚拟机的操作系统是ubuntu 16.04 LTS,创建虚拟机的操作比较...原创 2018-08-19 19:41:27 · 391 阅读 · 0 评论 -
Spring Aop脑图总结
原创 2019-01-02 22:12:52 · 246 阅读 · 0 评论 -
Java并发编程-基础篇
1. JVM与线程安全可见性:当多个线程对一个线程进行操作的时候,其中一个线程修改了变量的值,而其他的线程并不知道该值已经被修改可见性-synchronizedJMM关于synchronized的两条规定:1、线程解锁前,必须把共享变量的最新值刷新到主内存2、线程加锁时,将清空工作内存中共享变量的值,从而使用共享变量时需要从主内存中重新读取最新的值(注意:加锁与解锁是同一把锁)可见性-...原创 2019-10-23 19:49:04 · 7550 阅读 · 9 评论 -
Java并发的CAS原理与ABA问题
CAS原理在计算机科学中,比较和交换(Compare And Swap)是用于实现多线程同步的原子指令。 它将内存位置的内容与给定值进行比较,只有在相同的情况下,将该内存位置的内容修改为新的给定值。 这是作为单个原子操作完成的。 原子性保证新值基于最新信息计算; 如果该值在同一时间被另一个线程更新,则写入将失败。 操作结果必须说明是否进行替换; 这可以通过一个简单的布尔响应(这个变体通常称为比较...原创 2019-01-19 10:48:10 · 289 阅读 · 0 评论 -
Java并发编程-进阶篇(下)
本章节主要讲解的是常用的并发队列ConcurrentLinkedQueue并发无阻塞队列BlockingQueue是并发阻塞队列1. 无阻塞队列 ConcurrentLinkedQueue无阻塞、无锁、高性能、无界、线程安全,性能优于BlockingQueue,不允许null值。内部使用的链表存储数据,因此不会有容量限制。static final class Node<E>...原创 2019-01-24 22:20:08 · 311 阅读 · 0 评论 -
MyBatis脑图概览
原创 2019-01-14 23:07:16 · 209 阅读 · 0 评论 -
Java并发编程-进阶篇(上)
1. volatile关键字与可见性强制线程到共享内存中读取数据,而不是从线程工作内存中读取数据,从而使变量在多个线程中可见。无法保证原子性,属于轻量级的同步。性能比synchronized强很多(不加锁),但是只保证线程的可见性,并不能代替sychronized的同步功能。2. static与volatilestatic 保证唯一性,不保证一致性,多个实例共享一个静态变量。volati...原创 2019-01-21 00:56:04 · 372 阅读 · 0 评论 -
Java并发编程-精通篇(工具类)
常用的Concurrent同步工具类CountDownLatchCyclicBarrierSemaphoreExchangerReentrantLockReentrantReadWriteLock1.CoundDownLatch线程安全计数器。允许一个或多个线程等待一系列的操作完成。给一个指定数值初始化,然后通过countDown()方法将计数器减一。通过await()方法,线...原创 2019-02-16 13:27:51 · 659 阅读 · 0 评论 -
Java设计模式-单例模式
Java设计模式之单例模式单例模式(Singleton Pattern)是一个比较简单的设计模式,主要是为了保证在系统运行过程中,程序只能提供一个对应该类的实例1. 单例模式的实现1.1单例模式的通用UML图1.2 饿汉模式所谓“饿汉模式”就是无论程序是否需要调用这个实例,JVM在类加载过程之后就会创建这样一个实例。 //饿汉模式 publ原创 2017-12-31 15:20:57 · 265 阅读 · 0 评论 -
Java设计模式-六大设计原则
Java设计模式的设计原则单一职责原则单一职责原则的英文名称是Single Responsibility Principle,简称SRP。1. 定义 单一职责原则的定义:应该有且仅有一个原因引起类的变更。单一职责原则要求类的设计、接口的设计、方法的设计都是满足单一职责原则,就是要保证类、接口、方法只做一件事或者是同一类型、同一职责的操作。2. 优点类的复杂度降低,实现什么职责都有清晰明确的定原创 2018-01-09 13:41:27 · 832 阅读 · 0 评论 -
变态跳台阶
变态跳台阶1. 题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。2. 题目分析f(1) = 1f(2) 会有两个跳得方式,一次1阶或者2阶,这回归到了问题f(1),f(2) = f(2-1) + f(2-2)f(3) 会有三种跳得方式,1阶、2阶、3阶,那么就是第一次跳出1阶后面剩下:f(3-1);第一次跳出2阶,剩下f(3原创 2017-05-08 23:41:16 · 249 阅读 · 0 评论 -
链表中倒数第k个结点
链表中倒数第k个结点1. 题目描述输入一个链表,输出该链表中倒数第k个结点。2. 解题思路由于是单链表,遍历链表只能顺序遍历,也不能随机的访问要求输出的是倒数第K个结点,可以将其换算成正向数的结点首先需要计算出链表中一共有多少个结点节点数减k就是该结点在链表中的位置(从0开始)正向遍历链表即可解决问题3. 解题代码/*public class ListNode { int va原创 2017-05-18 20:32:53 · 595 阅读 · 0 评论 -
Spring概述
Spring概述Spring是为企业Java最流行的应用程序开发框架。数以百万计的世界各地的开发人员使用Spring框架来创建高性能,易于测试的,可重用的代码。 Spring为企业应用的开发提供了一个轻量级的解决方案。该解决方案方案包括:基于依赖注入的核心机制,基于AOP的声明事物管理与多种持久层技术的整合,以及优秀的Web MVC框架等。 Spring为Java EE应用的表现层、业务逻辑层和原创 2017-10-19 22:59:52 · 283 阅读 · 0 评论 -
基于Java语言实现Socket通信
基于Java语言实现Socket通信由于近日项目需求,需要在服务器中增加Socket通信的功能,接收硬件设备发送的心跳包和相关数据,因此又重新对Java的网络编程进行了复习,根据项目的实际情况做了简化的编程,实现了简单的通信过程。1. Socket通信原理源IP地址和目的IP地址以及源端口号和目的端口号的组合称为套接字。其用于标识客户端请求的服务器和服务。 以下是通过Socket套接字实现客户端与原创 2017-11-13 17:23:21 · 5210 阅读 · 0 评论 -
基于Ubuntu系统的Java Web应用环境搭建
基于Ubuntu系统的Java Web应用环境搭建由于最近接触了一些项目,需要自己发布应用到服务器上,这篇博客记录一下搭建的过程。 我是用的阿里云服务器(免费领取的半年使用),系统是ubuntu 16.04 LTS, 连接工具使用的是XShell。部署的过程主要有一下几个方面的内容: - 搭建Java开发环境 - 部署Tomcat - 部署mysql服务器1.安装Java JDK本次安装Jav原创 2017-11-01 20:10:48 · 903 阅读 · 1 评论 -
Java设计模式概述
Java设计模式概述1. 什么是设计模式设计模式是一套理论,由软件界的前辈总结出的一套可以反复使用的经验,以此来提供代码的可重用性、可维护性和可拓展性。2.为什么使用设计模式1、设计模式是前人根据经验总结出来的,使用设计模式,就相当于是站在了前人的肩膀上。 2、设计模式使程序易读。熟悉设计模式的人应该能够很容易读懂运用设计模式编写的程序。 3、设计模式能使编写的程序具有良好的可扩展性,满足系统设原创 2017-12-31 14:16:14 · 220 阅读 · 0 评论 -
LeetCode-Add Two Numbers
LeetCode-Add Two NumbersDescriptionYou are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit原创 2018-01-11 11:50:11 · 240 阅读 · 0 评论 -
Java设计模式-工厂方法模式
Java设计模式-工厂方法模式1. 定义 定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工具方法使一个类的实例化延迟到其子类。 工厂方法模式通用类图2. 实例在我们日常生活中,很多的工厂会用来生产产品,并进行组装。我们这里有一个生产机床(Creator)生产三种不同的产品(ProductA、ProductB、ProductC)。车间工人在生产的时候只需要根据使用情况,输入需要生原创 2018-01-03 16:03:23 · 246 阅读 · 0 评论 -
Java并发编程-精通篇(线程池)
1. 线程池原理线程池的创建public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, ...原创 2019-02-16 23:50:19 · 265 阅读 · 0 评论