- 博客(824)
- 资源 (20)
- 问答 (4)
- 收藏
- 关注

原创 vue+element+git+maven+springMVC+springBoot+MyBatis-电力监理生产业务管理系统
电力监理生产业务管理系统
2020-08-18 10:23:57
468

原创 从头认识多线程-目录
第一章 回顾多线程基础1.1 多线程的创建1.2 共享变量与线程安全简介1.3 currentThread()1.4 isAlive()和Sleep()1.5 interrupt()和isInterrupt()1.6 迫使线程停止的方法-异常法1.7 迫使线程停止的方法-异常法的扩展(Sleep的Exception)1.8 迫使线程停止的方法-暴力Stop方法1.9 迫使线程停止的方法-retur
2016-04-20 22:05:27
3199

原创 从头认识设计模式-目录
第一章 策略模式01-原始应用场景02-思考过程一:在继承里面增加导入导出方法03-思考过程二:在每一个类里面单独增加方法或者增加接口04-思考过程三:引入设计原则:分离变化与不变的部分05-思考过程四:引入设计原则:面向接口编程06-对前面几个章节思考的总结07-对策略模式的总结 目录:我的github:https://github.com/raylee2015/designpattern
2016-03-21 23:08:27
2299

原创 从头认识Spring-目录
实战篇:第一章 Spring简介与Bean1.1 什么是依赖注入?为什么需要依赖注入?1.2 什么是AOP?为什么需要面向切面编程?1.3 Spring的容器与Bean1.4 通过构造器注入Bean1.5 Bean的作用域
2016-01-30 16:10:32
5034
3

原创 从头认识java-目录
第一章 对象1.1 编程语言抽象过程以及java的基础特性1.2 对象-服务提供者1.3 隐藏具体实现1.4 复用代码1.4 复用代码1.5 继承(1)1.5 继承(2)
2015-10-19 09:55:44
11542
6

原创 零基础学python-目录
第一章 初识python1.1 安装python1.2 什么是idle1.3 通过idle启动python1.4 hello world
2015-08-09 15:56:34
17953
8
原创 Spring Boot从入门到熟练-1.入门
入门一、创建maven项目二、引入Spring Boot1.引入库2.创建示例三、测试结果总结一、创建maven项目填写相关id二、引入Spring Boot1.引入库2.创建示例代码如下:package cn.lilinghui.sprintboottest.controller;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure
2020-09-03 20:34:34
560
原创 vue+element+git+maven+springMVC+springBoot+MyBatis-电力监理生产业务管理系统-2.3 测试并配置spring framework
测试并配置spring
2020-09-02 11:16:09
548
原创 vue+element+git+maven+springMVC+springBoot+MyBatis-电力监理生产业务管理系统-2.2 引入并配置spring boot
1.引入spring boot2.配置spring boot其他从零开始-电力监理生产业务管理系统 目录
2020-09-02 10:39:37
633
原创 vue+element+git+maven+springMVC+springBoot+MyBatis-电力监理生产业务管理系统-1.5 配置git
1.项目列表2.配置git仓库右击emip项目,选择“team->share project”勾选重新生成仓库勾选项目点击生成仓库完成在git仓库可以看见新仓库其他从零开始-电力监理生产业务管理系统 目录...
2020-08-20 10:47:06
271
原创 vue+element+git+maven+springMVC+springBoot+MyBatis-电力监理生产业务管理系统-2.1.1 项目报错
1.报错信息The superclass “javax.servlet.http.HttpServlet” was not found on the Java Build Path2.解决方法打开buildpath界面添加lib选择server runtime完成结果如下其他从零开始-电力监理生产业务管理系统 目录...
2020-08-19 15:27:30
302
原创 vue+element+git+maven+springMVC+springBoot+MyBatis-电力监理生产业务管理系统-2.1 建立maven项目
1.新建maven项目选择webapp这一项填写groupid和artifactid下图是新建完成的项目架构其他从零开始-电力监理生产业务管理系统 目录
2020-08-19 14:56:19
285
原创 vue+element+git+maven+springMVC+springBoot+MyBatis-电力监理生产业务管理系统-1.4 下载安装并配置tomcat
1.登录tomcat官网http://tomcat.apache.org/2.下载tomcat我们项目暂时使用tomcat7下载完之后解压缩3.配置在eclipse里面的tomcat打开eclipse点击server新增服务器弹出窗口,选择tomcat 7下一步点击browse选择tomcat 安装目录点击完成即可其他从零开始-电力监理生产业务管理系统 目录...
2020-08-19 09:10:01
355
1
原创 vue+element+git+maven+springMVC+springBoot+MyBatis-电力监理生产业务管理系统-1.3 下载安装并配置maven
下载安装并配置maven1.登录apache maven官网2.下载apache maven3.更换下载数据源4.成功下载5.配置maven5.1.配置环境变量5.2.修改配置文件5.2.1找到配置文件settings.xml5.2.1修改本地仓库位置5.2.2新增国内源5.3.修改eclipse的maven其他1.登录apache maven官网http://maven.apache.org/2.下载apache maven3.更换下载数据源有时候因为网络的问题下载不了,我们需要更换下载的
2020-08-18 15:26:13
302
原创 vue+element+git+maven+springMVC+springBoot+MyBatis-电力监理生产业务管理系统-1.2 下载安装配置eclipse
下载eclipse1.登录eclipse官网2.点击下载页面3.解压缩4.建立桌面快捷方式其他1.登录eclipse官网http://www.eclipse.org2.点击下载页面http://www.eclipse.org/downloads/packages/下载Eclipse IDE for Enterprise Java Developers的Windows 64-bit,因为我们一般在windows系统里面开发,比较方便下载成功!3.解压缩4.建立桌面快捷方式这样可以方便使
2020-08-18 10:26:51
351
原创 找到对的人,是你项目开展成功的第一步
背景:博主身处电力行业,主要负责开发Mis类型业务系统,最近在搞数据整合集成可视化等有关数据的项目,博主所处的公司是小公司,部门只有10来个人,上有经理下有开发人员。之前一直在做项目,没什么时间坐下来总结一下项目应该怎么做,应该怎么推展,每天都像救火队长一样,东去一下,西去一下,没有什么整体的规划,估计这就是小公司所特有的工作模式吧。 最近一直关注这需求是什么,需求从哪里来,需求怎么做,估算是什
2017-05-19 16:37:33
1486
原创 从头认识多线程-4.4 ThreadLocal的实现原理
从头认识多线程-4.4 ThreadLocal的实现原理这一章节我们来讨论一下ThreadLocal的实现原理。1.ThreadLocal的存储一般可以认为是ThreadLocalMap这个内部类来存储,但是如果更加深入一层,其实他的存储是Entry类的可变数组,这个跟HashMap的存储比较相似2.为什么在使用ThreadLocal的时候需要初始化?ThreadLocal的初始化源码: /**
2016-06-20 14:19:15
1584
1
原创 从头认识多线程-4.3 ThreadLocal使用时需要注意的地方
4.3 这一章节我们来讨论一下关于ThreadLocal的使用的时候需要注意的地方ThreadLocal主要的使用是get、set、initialValue这几个方法,具体的使用我们这里不做介绍,下面只是举一些它使用的时候需要注意的地方。1.在get方法的时候出现nullpackage com.ray.deepintothread.ch04.topic_3;public class ThreadLo
2016-06-17 15:47:21
6389
原创 从头认识多线程-4.2 对象逸出的其他解决方案-主要是ThreadLocal的应用
这一章节我们来讨论一下对象逸出的其他解决方案。1.由于出现对象逸出都是在多线程环境下,那么,我们换成单线程即可,当然,这个方法基本没有人使用, 因为现在都是多核处理器,为了提升性能,不可能使用单核,但是下面我也给出例子吧。package com.ray.deepintothread.ch04.topic_2;public class Ad_hoc { private int id = 0;
2016-06-12 23:00:07
3505
原创 从头认识多线程-4.1 对象的发布(Publish)、逸出(Escape)以及逸出的解决方案
这一章节我们来讨论一下对象的发布与逸出。其实在前两个章节我们都有想应的讨论,只不过有一些不用补充的问题,我将会放到这个章节里面去。1.发布(Publish)当一个对象能够给其他代码引用。package com.ray.deepintothread.ch04.topic_1;import java.util.HashMap;public class Publish { private Ha
2016-06-11 21:45:25
4632
原创 从头认识多线程-3.3 synchronized某些解决不了的可视性问题,只能使用volatile来解决
这一章节我们讨论一下synchronized不但具备操作的同步性,还具备volatile的可视性。1.引入之前的异步死循环代码:package com.ray.deepintothread.ch03.topic_3;public class DeadForAsychn { public static void main(String[] args) throws InterruptedEx
2016-06-08 11:52:29
3354
原创 从头认识多线程-3.2 使用volatile声明的变量的写操作是非原子性的
这一章节我们来讨论一下使用volatile声明的变量的各种操作是非原子性的。1.上一章节我们已经提到,volatile把工作内存里面变量的改变同步到主内存, 使得各个线程能够把该变量当成是整体的状态控制2.但是,使用volatile声明的变量的写操作是非原子性的代码清单:package com.ray.deepintothread.ch03.topic_2;public class Volat
2016-06-06 22:19:39
4002
原创 从头认识多线程-3.1 使用volatile解决异步死循环
这一章节我们来讨论一下使用volatile解决异步死循环。1.在讨论上面的问题前,我们引入另一个例子:同步死循环代码清单:package com.ray.deepintothread.ch03.topic_1;public class DeadFor { private boolean isStop = false; public boolean isStop() { return
2016-06-06 10:44:52
4235
原创 从头认识多线程-2.26 synchronized同步代码块在jvm是怎样执行的?
这一章节我们来讨论一下synchronized同步代码块在jvm层面的执行。1.synchronized同步代码块是依赖字节码指令来控制代码清单:package com.ray.deepintothread.ch02.topic_26;/** * * @author RayLee * */public class SynchBlock { private Object objec
2016-05-24 11:02:22
3867
原创 从头认识多线程-2.25 synchronized同步方法在jvm是怎样执行的?
这一章节我们来讨论一下synchronized同步方法在jvm层面的执行。1.synchronized同步方法是不依赖字节码指令来控制代码清单:package com.ray.deepintothread.ch02.topic_25;/** * * @author RayLee * */public class SynchMethod { public synchronized
2016-05-24 10:48:16
2485
原创 从头认识多线程-2.24 修改监视器对同步的影响
这一章节我们来讨论一下修改监视器对同步的影响。1.不修改监视器,同步的package com.ray.deepintothread.ch02.topic_24;/** * * @author RayLee * */public class SynchOfStaticInnerClass { public static void main(String[] args) { T
2016-05-20 16:27:07
5176
原创 从头认识多线程-2.23 静态内部类的同步机制跟普通类相同
这一章节主要讨论静态内部类的同步机制跟普通类相同。1.当同步方法的时候package com.ray.deepintothread.ch02.topic_23;/** * * @author RayLee * */public class SynchOfStaticInnerClass { static class InnerClass { private static in
2016-05-18 21:21:14
1879
原创 从头认识多线程-2.22 内部类的同步机制跟普通类相同
这一章节主要讨论内部类的同步机制跟普通类相同。1.当同步方法的时候package com.ray.deepintothread.ch02.topic_22;/** * * @author RayLee * */public class SynchOfInnerClass { class InnerClass { private int id = 0; public sy
2016-05-17 22:11:35
2525
原创 从头认识多线程-2.21 死锁简介
这一章节我们来展示一下死锁。1.代码清单package com.ray.deepintothread.ch02.topic_21;/** * * @author RayLee * */public class DeadLock { public static void main(String[] args) throws InterruptedException { MySe
2016-05-16 22:05:19
4798
原创 从头认识多线程-2.20 synchronized同步方法的无限等待与解决方法
这一章节我们讨论一下synchronized同步方法的无限等待与解决方法。1.synchronized同步方法的无限等待package com.ray.deepintothread.ch02.topic_20;/** * * @author RayLee * */public class InfiniteWait { public static void main(String[
2016-05-15 20:41:44
5398
原创 从头认识多线程-2.19 synchronized (new object())同步时各种不同类别的监视器以及其引起的问题(常量池的影响)
在这里先向读者们道歉,由于之前的不严谨,从头认识多线程-2.15 证明使用整数属性域作为多线程监视器是不同步的这一章里面的例子有所偏差,导致结论出现偏差,在这里再次道歉,因此,才有今天的这一个章节出现。这一章节我们来讨论一下各种不同类别的监视器以及所引起的问题。1.使用整数作为属性域,而且该属性域就是多线程同步的监视器package com.ray.deepintothread.ch02.topi
2016-05-12 21:25:38
4617
原创 从头认识多线程-2.18 同步方法与同步静态代码块持有的是不同的锁
这一章节我们来讨论一下同步方法与同步静态代码块持有的是不同的锁。代码清单:package com.ray.deepintothread.ch02.topic_18;/** * * @author RayLee * */public class SynchClass { public static void main(String[] args) throws Interrupte
2016-05-11 18:08:09
4253
原创 从头认识多线程-2.17 同步静态方法和静态代码块
这一章节我们来讨论一些同步静态方法和静态代码块。代码清单package com.ray.deepintothread.ch02.topic_17;/** * * @author RayLee * */public class SynchClass { public static void main(String[] args) throws InterruptedExceptio
2016-05-11 15:20:24
4198
原创 从头认识多线程-2.16 证明使用整数属性域作为多线程监视器是不同步的
这一章节接着上一章节最后的错误的思路,我们来证明使用属性域作为多线程监视器是不同步的。1.用同一个属性域作为多线程监视器,是不同步的package com.ray.deepintothread.ch02.topic_16;/** * * @author RayLee * */public class DirtyReadWithSynchBlock { public static
2016-05-08 22:01:54
3257
原创 从头认识多线程-2.15 解决由同步的synchronized (newobject()) 引起的脏读的方法
这一章节我们来讨论一下解决由同步的synchronized (newobject()) 引起的异步现象和脏读的方法。1.代码清单package com.ray.deepintothread.ch02.topic_14;/** * * @author RayLee * */public class DirtyRead { public static void main(String
2016-05-08 14:22:55
3944
原创 从头认识多线程-2.14 由同步的synchronized (newobject()) 引起的异步现象和脏读
这一章节我们来讨论一下由同步的synchronized (newobject()) 引起的异步现象。1.代码清单package com.ray.deepintothread.ch02.topic_14;/** * * @author RayLee * */public class AsynchOfSynchWithUnSameObject { public static void
2016-05-07 22:00:14
5592
原创 从头认识多线程-2.13 synchronized ()代码块不单可以用this,也可以用其他对象
这一章节我们来讨论一下synchronized ()代码块的另一个用法,它不单可以用this,也可以用其他对象。1.代码清单package com.ray.deepintothread.ch02.topic_13;/** * * @author RayLee * */public class ObjectLock { public static void main(String[
2016-05-06 16:54:19
4140
原创 从头认识多线程-2.12 synchronized标记的方法和synchronized(this)标记的代码块锁定的是当前对象
这一章节我们来讨论一下synchronized标记的方法和synchronized(this)标记的代码块锁定的是当前对象。1.其实从语句上面我们就已经可以看出synchronized(this)锁定的是当前对象,因为能够使用this的只有指代当前对象(当然,在构造器里面有些this除外)2.代码清单:package com.ray.deepintothread.ch02.topic_12;/
2016-05-05 21:36:47
2601
原创 从头认识多线程-2.11 通过同步代码块证明synchronized标记的是对象锁
这一章节我们来讨论一下通过同步代码块证明synchronized标记的是对象锁。1.代码清单:package com.ray.deepintothread.ch02.topic_11;/** * * @author RayLee * */public class ObjectLock { public static void main(String[] args) throws
2016-05-03 23:06:28
4711
原创 从头认识多线程-2.10 同步代码块的特殊现象:一半同步,一半异步
这一章节我们来讨论一下同步代码块的一个特殊现象:一半同步,一半异步代码清单:
2016-05-03 09:05:52
4367
Mastering Python Design Patterns 精通python设计模式
2015-09-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人