随笔分类 -  java

有关java
摘要:构建一个类似springmvc的框架 大致结构: DispatcherServlet,接收所有请求,然后进行分发 自定义Controller注解,RequestMapping注解 设置ViewResolver 视图解析器 大致步骤: 把controller和注解进行关联,可以使用url找到对应的方法 阅读全文
posted @ 2021-03-15 20:24 TidalCoast 阅读(142) 评论(0) 推荐(0)
摘要:如何在在云服务器上部署javaweb项目(阿里云为例) 一、准备一个云服务器(以阿里云为例) 1.注册阿里云账号 https://www.aliyun.com 2.进行学生认证,获取免费服务器 https://developer.aliyun.com/adc/student 按照步骤来, 体验结束之 阅读全文
posted @ 2021-03-06 16:44 TidalCoast 阅读(1369) 评论(0) 推荐(0)
摘要:java锁相关二 1.乐观锁和悲观锁 乐观锁概念:对于多线程的并发操作,乐观锁一直保持“乐观态度”,认为获取锁的线程在读写数据时,其它线程不会来干扰,所以不会添加锁,只会在修改数据之前去判断有无别的线程修改了 数据(比如通过版本号来判断),如果当前数据没有被更新,则将自己修改的结果写入。如果被修改了 阅读全文
posted @ 2021-01-24 14:36 TidalCoast 阅读(91) 评论(0) 推荐(0)
摘要:java锁相关一 1.什么是锁,锁的概念 java中锁的作用就是用来解决线程安全问题,避免线程之间共享的数据出现错误,可以说, 锁作为并发共享数据,保证一致性的工具 2.如何使用锁 java中提供两种锁的方式,一种是通过synchronized关键字,一种是通过lock类 (1)synchroniz 阅读全文
posted @ 2021-01-23 21:56 TidalCoast 阅读(123) 评论(0) 推荐(0)
摘要:一,四种常见的线程池类型 1.SingleThreadExecutor,单线程化的线程池 //使用Executors 工具类来创建一个单线程的线程池 //单线程线程池,可以保证线程按照顺序执行 ExecutorService singleThread = Executors.newSingleThr 阅读全文
posted @ 2021-01-22 22:04 TidalCoast 阅读(104) 评论(0) 推荐(0)
摘要:如何利用java写一个爬虫程序 首先,要先导入jsoup依赖 <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.12.1</version> </dependency> 导入依赖之后 阅读全文
posted @ 2021-01-20 21:42 TidalCoast 阅读(728) 评论(0) 推荐(0)
摘要:Linkedlist底层原理 LinkedList的底层结构是基于双向链表实现的,优势是插入数据效率很高,缺点是遍历数据效率低。LinkedList没有长度限制,所以不需要提供初始化大小的构造方法。 功能方面: 1)查找方面先是在双向链表里找到节点的位置index,找到之后,再对这个节点进行一系列操 阅读全文
posted @ 2020-08-21 22:44 TidalCoast
摘要:java ArrayList实现原理 ArrayList底层源码分析 ArrayList:底层的数据结构是数组,作为List的主要实现类;线程不安全,效率高。 ArrayList底层实际上是一个动态的数组,与普通的数组相比较,它的容量可以根据需要动态地增长。ArrayList 继承了Abstract 阅读全文
posted @ 2020-08-18 22:06 TidalCoast
摘要:Java Minor GC、 Full GC之间的区别 Minor GC Minor GC 指发生在新生代(分为Eden区和Survivor区)的一系列垃圾回收操作,当新生代内存不足,无法给新的新生代对象分配空间的时候,就会触发Minor GC。 Minor GC的具体触发条件: jvm在进行Min 阅读全文
posted @ 2020-08-16 20:56 TidalCoast
摘要:并发与并行的概念 并行:在同一时刻,有多个程序在多个处理器上运行(每个处理器运行一个程序)。 也可以理解为多个处理器同时处理多个不同任务。 并发:在同一cpu上同时运行多个程序。在微观上不是真正的同时,因为处理器是在各个程序之间来回切换的,只能说在宏观上看来是同时运行的。 并发,就好比一个人同时吃多 阅读全文
posted @ 2020-08-15 21:24 TidalCoast
摘要:java垃圾回收算法以及原理 在java中常见的垃圾回收算法有四种,分别是标记清除算法、复制算法、标记整理算法以及分代回收算法。 标记清除算法(Mark-Sweep算法) 标记清除算法是最基础的垃圾回收算法,容易实现,而且思想也很简单。根据算法的名字我们就大致可以猜到这个算法分为两个阶段进行,一个是 阅读全文
posted @ 2020-08-15 21:01 TidalCoast
摘要:java中的finalize()方法 首先,finallize()方法是Object类中的方法,在GC准备释放对象占用的内存之前,必须执行finalize()方法 在Object类中的定义如下: finalize()方法什么时候调用 在java中finalize()并不会每次都及时执行,因为GC的自 阅读全文
posted @ 2020-08-14 14:15 TidalCoast
摘要:java的垃圾回收机制 垃圾收集GC是垃圾回收机制的核心,也是java语言的核心之一,在java中,程序员不需要过多地关心内存的动态分配关系和内存回收处理的问题,jvm(java虚拟机)会自动处理这些事情。 什么情况下的对象算是垃圾? 对于java对象来说,如果这个对象没有被其它的对象所引用,那么j 阅读全文
posted @ 2020-08-13 20:03 TidalCoast
摘要:什么是hashcode方法? hashCode()方法作用是返回一个int类型的数值,也就是哈希值,该方法的主要作用就是在散列的储存结构中确定对象的储存地址,哈希值相同的对象会存放在同一个桶里,所以哈希值相同不代表两个对象就相等了。 对象的hashcode怎么得到? hashcode就是通过hash 阅读全文
posted @ 2020-07-31 20:53 TidalCoast