java基础
学java看源码
有道无术,术可求;有术无道,止于术
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
maven(二)nexus 3
maven(二)nexusnexus 3安装目录介绍安装目录数据目录仓库类型maven与nexus私服做关联Maven下的conf\setting.xml配置本地项目上传配置本地项目打包之后上传nexus的地址上传第三方jar到nexusnexus 3安装1.下载Nexus官网下载地址2.解压3.以管理员的身份运行cmd,进入\bin目录,执行nexus /run。看到成功提示,则说明安装成功。4.注册服务运行如下命令,注册服务nexus.exe /install Nexus Servic原创 2020-12-20 17:19:35 · 2748 阅读 · 1 评论 -
maven(一)基础篇
maven(一)基础篇maven安装maven介绍maven仓库maven项目构建阿里代理镜像maven scope依赖冲突修改默认的JDK编译环境添加tomcat插件maven安装1.去官网下载官网链接Maven 3.3+ require JDK 1.72.解压即可3.环境配置因为maven本身就是一个java程序,所以需要jdk环境同时配置环境变量MAVEN_HOME:安装目录编辑环境变量Path,追加%MAVEN_HOME%\bin4.检测maven安装是否成功使用mvn -原创 2020-12-20 16:45:24 · 933 阅读 · 1 评论 -
JUC并发编程(四)-Synchronized、ReenTrantLock、线程池
Synchronized、ReenTrantLock、线程池Synchronized原理使用原理ReenTrantLock使用Synchronized、ReenTrantLock区别线程池Executors自定义线程池Executors线程池弊端自定义线程池Synchronized原理使用对于普通方法: 锁住的是当前实例对象对于静态方法: 锁住的是当前类的class对象对于静态代码块: 锁住的是括号里面的配置对象原理public class Test { public static原创 2020-11-26 16:39:16 · 451 阅读 · 1 评论 -
JUC并发编程(三)之AQS
JUC并发编程(三)之AQSAQS原理CountDownLatchCycliBarriarSemaphoreAQS原理AbstractQueuedSynchronizer先大致讲一下工作原理:AQS内部主要维护了一个Node类型的链表,用于储存排队的线程信息,当有新的需要阻塞的线程进来时一般创建一个node对象,加入到链表的尾部,当链表中首节点释放资源时调用LockSupport的unpark去唤醒等待的线程。当一个线程进来以后,抢到资源会把state由0改为1,其他线程在state为1时,就会进入原创 2020-11-11 15:36:29 · 1050 阅读 · 1 评论 -
JUC并发编程(二)之ThreadLocal线程副本源码分析
ThreadLocal线程副本源码案例源码讲解文字和图分析案例定义一个静态变量,定义5个Thread线程去访问这个静态变量public class ThreadLocalTest { private static int num = 0; public static void main(String[] args) { Thread [] threads=new Thread[5]; for(int i=0;i<5;i++){原创 2020-11-07 20:28:49 · 2445 阅读 · 2 评论 -
JUC并发编程(一)之线程精讲篇
JUC编程(一)之线程精讲篇1.线程、进程认识2.为什么要有线程3.创建线程方式继承Thread类实现Runnable接口Callable接口4.线程生命周期5.线程操作及原理分析6.Synchronized介绍7.线程安全保证线程安全解决线程安全问题多线程并发问题1.线程、进程认识线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位进程的执行逻辑通过CPU切换时间切片,执行相应进程2.为什么要有线程1.效率方面分析同一进程中,如果需要执行多个任务,如果其中一原创 2020-11-06 14:58:01 · 641 阅读 · 1 评论 -
Java 8 Lambda使用
Java 8 Lambda使用Lambda介绍本质函数式接口函数式接口定义stream流的Intermediate方法(中间操作)流的Terminal方法(终结操作)filtermapsorted自然排序自定义排序使用Stream进行多字段排序CollectorLambda介绍Lambda 表达式是 JDK8 的一个新特性,可以取代大部分的匿名内部类,写出更优雅的 Java 代码,尤其在集合的遍历和其他集合操作中,可以极大地优化代码结构。本质Lambda表达式本质是函数式接口的实例函数式接口函原创 2020-10-20 11:43:07 · 767 阅读 · 0 评论 -
泛型的详细教程
泛型JDK1.5之前泛型的介绍泛型的本质泛型通配符泛型类、方法、接口使用JDK1.5之前那时候是没有泛型的概念的。当时 Java 程序员们写集合类的代码都是类似于下面这样:List list = new ArrayList(); list.add("www.cnblogs.com"); list.add(23);String name = (String)list.get(0);Integer number = (Integer)list.get(1);在代码中声明一个集合,我们可以往集原创 2020-10-18 19:17:02 · 756 阅读 · 1 评论 -
反射的讲解以及解决反射单例的漏洞
反射的讲解以及解决反射单例的漏洞反射讲解概念:优缺点基本操作获取类对象的四种方式// 获取类对象的四种方式基本信息操作获取类的相关结构字段的操作类中的方法操作构造器的操作解决反射单例的漏洞反射讲解概念:在java程序运行状态中,类对象(class对象)可以动态获取类的相关信息,以及动态调用类的属性和方法优缺点反射的优缺点优点增加程序的灵活性,避免固有逻辑写死到程序中代码相对简洁,可以提高程序的复用性缺点相比于直接调用反射有比较大的性能销毁内部暴露和安全隐患另外反射对性能会有损耗,这是原创 2020-10-15 18:08:45 · 1911 阅读 · 3 评论 -
java注解详情及自定义注解和使用场景
java注解详情及自定义注解和使用场景注解概念jdk预定义的注解jdk提供了4个元注解JDK中给我们提供的4个元注解1.@Target:描述当前注解能够作用的位置2.@Retention: 描述注解被保留到的阶段3.@Documented:描述注解是否被抽取到JavaDoc api中4.@inherited:描述注解是否可以被子类继承自定义注解注解的样式注解的本质自定义注解自定义注解定义studnet1类测试注解应用场景场景一:自定义注解+拦截器 实现登录校验场景二:自定义注解+AOP 实现接口执行时间打印原创 2020-10-13 17:49:33 · 1836 阅读 · 2 评论 -
单例模式
单例模式(全局使用一个对象)单例模式的关键核心有两点:1、构造方法为私有,这样外界就不能随意调用。2、get的方法为静态,由类直接调用,获取该类实例对象为什么用单例模式:之所以用单例,是因为没必要每个请求都新建一个对象,这样子既浪费CPU又浪费内存;第一种(懒汉,线程不安全):public class Singleton {...转载 2019-07-29 16:37:57 · 117 阅读 · 1 评论
分享