首页 文章 精选 留言 我的

精选列表

搜索[Java库],共10000篇文章
优秀的个人博客,低调大师

浅谈Java多线程与并发原理

前序 线程安全问题的主要诱因 存在共享数据(也称临界资源) 存在多条线程共同操作这些共享数据 解决方法:同一时刻有且只有一个线程在操作共享数据,其他线程必须等到该线程处理完数据后再对共享数据进行操作 互斥锁的特征 互斥性:即在同一时间只允许一个线程持有某个对象锁,通过这种特性来实现多线程协调机制,这样在同一时间只有一个线程对需要同步的代码块(复合操作)进行访问。互斥性也称为操作的原子性。可见性:必须确保在锁被释放之前,对共享变量所做的修改,对于随后获得该锁的另一个线程是可见的(即在获得锁时应该获得最新共享变量的值),否则另一个线程可能是在本地缓存的某个副本上继续操作,从而引起不一致。注:synchronized 锁的不是代码,锁的是对象 获取锁的分类:获取对象锁、获取类锁 获取对象锁的两种用法: 同步代码块(synchronized(this),s

优秀的个人博客,低调大师

Java 内部类创建、调用外部方法

JDK 1.8.0 创建内部类类对象 Outer outer = new Outer(1L,"fater"); Outer.Inner inner = outer.new Inner(2L,"son"); 内部类对象调用外部类方法 内部类与外部类没有重名的方法,可以直接调用外部类方法 内部类与外部类存在重名的方法,必须使用 Outer.this.method() 来进行调用,否则优先调用内部类的方法 public class Outer { private Long id; private String name; public Outer(Long id, String name) { this.id = id; this.name = name; } public void test(){ System.out.println("Outer "+this.id+"--"+this.name); } class Inner{ private Long id; private String name; public Inner(Long id, String name) { this.id = id; this.name = name; } // public void test(){ // System.out.println("Inner "+this.id+"--"+this.name); // System.out.println("my fater is"); // //test(); // 会调用内部类的test()方法,无限循环报错 // Outer.this.test();// 调用外部类方法 // } public void test2(){ System.out.println("Inner "+this.id+"--"+this.name); System.out.println("my fater is"); Outer.this.test(); //test(); // 两种方式皆可,调用外部类方法 } } public static void main(String[] args) { Outer outer = new Outer(1L,"fater"); Outer.Inner inner = outer.new Inner(2L,"son"); inner.test2(); } }

优秀的个人博客,低调大师

java使用阿里oss和短信功能

提供阿里oss和短信功能 一、导入依赖 <dependency> <groupId>cn.gjing</groupId> <artifactId>tools-ali</artifactId> <version>1.1,0</version> </dependency> 二、项目使用 1、阿里OSS: 文件简单上传(最大文件不能超过5G)上传成功后返回图片地址,失败会返回错误信息,后续根据返回结果自行处理; @PostMapping("/upload") @ApiOperation(value = "上传图片", httpMethod = "POST") public ResponseEntity testUpload(

优秀的个人博客,低调大师

突破Java面试(20)-Redis线程模型

1 面试题 redis和memcached有什么区别?redis的线程模型是什么?为什么单线程的redis比多线程的memcached效率要高得多(为什么redis是单线程的但是还可以支撑高并发)? 2 考点分析 这个是问redis的时候,最基本的问题,redis最基本的一个内部原理和特点,就是redis实际上是个单线程工作模型,你要是这个都不知道,那后面玩儿redis的时候,出了问题岂不是什么都不知道? 还有可能面试官会问问你redis和memcached的区别,不过说实话,最近这两年,作为面试官都不太喜欢这么问了,memched是早些年各大互联网公司常用的缓存方案,但是现在近几年基本都是redis,没什么公司用memcached了 额外的友情提示同学,你要是现在还不知道redis和memcached是啥?那你赶紧百度一下redis入门和

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册