
java
文章平均质量分 51
java
fish_study_csdn
PHP go JAVA python 开发
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
夜神模拟器和appium 的安装
夜神模拟器,是全新一代的安卓模拟器,能够让你在电脑上畅玩手机游戏。与传统安卓模拟器相比,基于Android7.1内核,同时向下兼容Android5.1内核以及X86/AMD,具备极高的兼容性和稳定性、加上超高帧率模式,能够在电脑上运行高性能、高清手游。夜神模拟器和appium的安装需要依赖Java环境,Java环境的安装参考:windows Java 安装教程1、点击进入:夜神模拟器官网,然后点击下载。安装就不介绍了,傻瓜式安装,直接下一步即可路径默认路径即可:安装appiu原创 2022-05-17 10:33:42 · 1223 阅读 · 0 评论 -
windows Android SDK工具安装
Android SDK下载地址:可下载exe安装,也可直接下载zip包,直接解压即可,解压方式最方便。2.点击“SDK Manager.exe”,安装需要的工具原创 2022-05-16 20:14:35 · 1016 阅读 · 0 评论 -
报出Java(TM)Platform SE binary 已停止工作
在cmd中输入Javac,系统报出Java™Platform SE binary 已停止工作,如何解决?在系统环境变量中,把Path的%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;移动到最前面就可以解决问题。原创 2022-05-16 17:23:38 · 4849 阅读 · 1 评论 -
windows Java 安装教程
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等一 JAVA环境变量配置选择与电脑系统匹配的版本进行下原创 2022-05-16 17:02:25 · 2307 阅读 · 0 评论 -
jmeter使用之jdbc连接
连接mysql的jar包下载地址:MySQL :: MySQL Downloads载完成后解压,mysql-connector-java-8.0.20.jar复制到jmeter的lib目录,然后重启jmeter即可识别 jdbc请求。添加线程组添加JDBC ConnectionConfiguration4.配置JDBC Connection ConfigurationVariable Name参数:变量名-自定义Database URL...原创 2022-05-14 22:44:14 · 826 阅读 · 0 评论 -
MAC系统下jmeter安装教程
一 安装java8 详见:mac Java环境安装二 jmeter安装1.jmeter下载:https://jmeter.apache.org/download_jmeter.cgi下载后,在终端中使用cd命令进入下载文件夹中,在终端中输入命令解压压缩包: tar zxvf apache-jmeter-5.4.3.tgz使用cd命令,进入apache-jmeter-5.4.3文件夹->bin文件夹->sh jmeter(启动jmeter)每次要进入...原创 2022-04-29 09:47:04 · 5053 阅读 · 2 评论 -
mac Java环境安装
下单 java8 JDK安装包mac Java8 下载地址2、安装JDK检验是否安装成功:3、配置Java环境3.1、找到Java安装位置按住command键加空格,输入/Library/Java/JavaVirtualMachines/进行搜索我的位置是:/Library/Java/JavaVirtualMachines/jdk1.8.0_311.jdk/Contents/Home3.2、配置系统文件输入 sudo -i ..原创 2022-04-28 17:51:11 · 1277 阅读 · 1 评论 -
原子性对比
synchronized不可中断锁,适合竞争不激烈,可读性好lock:可中断,多样化同步,竞争激烈时恩呢该维持常态Atomic竞争激烈时能维持常态,比lock性能好,只能同步一个值cas算法...原创 2019-04-11 20:03:37 · 1127 阅读 · 0 评论 -
线程可见性
导致共享变量在线程间不可见的原因:1:线程交叉执行:2:重排序结婚线程交叉执行3:共享变量更新后值没有在工作内存和主存间即时更新JMM关于synchronized的两条规定:1线程解锁钱,必须把共享变量的最新值写到主内存2:线程加锁时,将清空工作内存中的变量值,从而使用共享变量时需要从主内存中重新读取最新值(加锁解锁是同一把锁)可见性 - volatile对v...原创 2019-04-11 20:12:48 · 284 阅读 · 0 评论 -
java 有序性 happens-before八个原则
1 程序次序规则:一个线程内,按照代码顺序,书写在前面的操作先行发生于书写在后面的操作。一段程序的执行,在单个线程中看起来是有序的。程序次序规则看起来是按顺序执行的,因为虚拟机可能会对程序指令进行重排序。虽然进行了重排序但是最终执行的结果是与程序顺序执行的结果是一致的。它只会对不存在数据依赖行的指令进行重排序。该规则是用来保证程序在单线程执行结果的正确性。但是无法保证程序在多线程执行结果的正确...原创 2019-04-11 20:27:14 · 1989 阅读 · 1 评论 -
线程安全问题
1:SimpleDateFormat在多线程下共享使用就会出现线程不安全情况。2:StringBuffer为线程安全类,StringBuilder为线程不安全类。StringBuffer在方法的实现上使用了synchronized关键字对方法进行同步,因此是线程安全的,而StringBuilder则没有进行特殊的同步或并发处理。同步安全的容器有:vectorStackHas...原创 2019-04-18 21:16:31 · 111 阅读 · 0 评论 -
ReentrantLock(可重入锁)和synchronized区别
可重入性:ReentrantLock字面意思即为再进入锁,称为可重入锁,其实synchronize所使用的锁也是可以重入的,两者关于这个区别不打,它们都是同一个线程进入一次,锁的计数器进行自增,要等到锁的计数器下降为零时,才能释放锁 锁的实现:synchronized依赖于JVM实现无法了解底层源码,而ReentrantLock基于JDK实现通过阅读源码了解实现,区别就类似于操作系统...原创 2019-04-19 23:48:00 · 3906 阅读 · 0 评论 -
ReentrantLock 学习
ReentrantLock提供了许多方法:tryLock():仅在调用时锁定未被另一个线程保持的情况下才获取锁定。 tryLock(long timeout, TimeUnit unit):如果锁定在给定的时间内没有被另一个线程保持且当前线程没有被中断,则获取这个锁定。 lockInterruptbily():如果当前线程没有被中断的话,那么就获取锁定。如果中断了就抛出异常。 isLoc...原创 2019-04-19 23:50:40 · 182 阅读 · 0 评论 -
JAVA 面试题整理
1) Thread和Runnable的关系:Runnable是一个接口类Thread是一个实现了Runnable的类,使得Run支持多线程因为类的单一继承原则,推荐使用Runnable接口2)Thread中 run()和start()的区别start()方法会创建一个子线程并启动run()方法是Thread普通方法的调用Thread#start -----&...原创 2019-05-05 11:30:09 · 197 阅读 · 0 评论 -
java面试基础
https://blog.csdn.net/qq_43148017/article/details/85121579https://www.cnblogs.com/cocoxu1992/p/10460251.html一 JAVA基础 [ 1 - 17 ]1 JRE 和 JDK 的区别是什么JRE: Java Runtime Environment JDK:Java Devel...原创 2019-05-08 14:17:04 · 202 阅读 · 0 评论 -
JAVA 面试基础 --- 容器 [ 18-34 ]
二 容器18.java 容器都有哪些?1)Collection:一个独立元素的序列,这些元素都服从一条或者多条规则。List必须按照插入的顺序保存元素,而set不能有重复的元素。Queue按照排队规则来确定对象产生的顺序(通常与它们被插入的顺序相同)。2)Map:一组成对的“键值对”对象,允许你使用键来查找值。|Collection| ├List| │-├Link...原创 2019-05-21 09:28:04 · 469 阅读 · 0 评论 -
JAVA面试---多线程【35-56】
35.并行和并发有什么区别?并发是多个事件在同一时间段执行,而并行是多个事件在同一时间点执行。36.线程和进程的区别?进程:是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竞争计算机系统资源的基本单位。线程:是进程的一个执行单元,是进程内部调度实体。比进程更小的独立运行的基本单位。线程也被称为轻量级进程。一个程序至少一个进程,一个进程至少一个线程。进程...原创 2019-05-21 10:49:46 · 205 阅读 · 0 评论 -
java面试 (反射 对象拷贝 JAVA WEB 异常)【57-78】
四、反射57.什么是反射?Java反射就是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;并且能改变它的属性。58.什么是 java 序列化?什么情况下需要序列化?序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了...原创 2019-05-21 20:42:00 · 234 阅读 · 0 评论 -
JAVA 面试(网络 设计模式 spring)【79-112】
八、网络79.http 响应码 301 和 302 代表的是什么?有什么区别?301 redirect: 301 代表永久性转移(Permanently Moved)302 redirect: 302 代表暂时性转移(Temporarily Moved )80.forward 和 redirect 的区别?81.简述 tcp 和 udp的区别?82.tcp 为什么要三次握手,...原创 2019-05-22 13:50:29 · 126 阅读 · 0 评论 -
高并发大流量网站的优化方案
高并发常用术语:QPS:每秒钟请求或者查询的数量,在互联网领域,指每秒响应请求数(指HTTP请求) 吞吐量:单位时间内处理的请求数量(通常由QPS与并发数决定) 响应时间:从请求发出到收到响应花费的时间,例如系统处理一个HTTP请求需要100ms,这个100ms就是系统的响应时间 PV:综合浏览量(Page View),即页面浏览量或者点击量,一个访客在24小时内访问的页面数量,同一个人...原创 2019-05-23 11:22:12 · 1081 阅读 · 0 评论 -
Java并发编程:CountDownLatch、CyclicBarrier和Semaphore
一.CountDownLatch用法: CountDownLatch类位于java.util.concurrent包下,利用它可以实现类似计数器的功能。比如有一个任务A,它要等待其他4个任务执行完毕之后才能执行,此时就可以利用CountDownLatch来实现这种功能了。 CountDownLatch类只提供了一个构造器: 1 publicCountDo...原创 2019-05-16 10:14:38 · 181 阅读 · 0 评论 -
java 基础数据类型------ string
* 构造方法:* public String():创建String对象* public String(byte[] bytes):把字节数组转成字符串。* public String(byte[] bytes,int index,int length):把字节数组中的一部分转成字符串* public String(char[] value):把字符数组转成...原创 2018-08-07 14:40:27 · 322 阅读 · 0 评论 -
java 多线程 thread
基本概念进程:进程就是正在运行的程序,是系统进行资源分配和调用的独立单位。每一个进程都有它自己的内存空间和系统资源多进程有什么意义呢? 多进程的作用不是提高执行速度,而是提高CPU的使用率。 单核计算机:CPU多个进程间进行高效的切换,在任意一个时刻,只能有一个进程运行线程:线程是程序中单个顺序的控制流,是程序使用CPU的基本单位。 线程...原创 2019-03-13 14:26:08 · 1108 阅读 · 0 评论 -
Java高并发之魂:synchronized深度解析
一、synchronized简介1 synchronized作用1.1一句话概括synchronized作用能够保证在同一时刻最多只有一个线程执行该段代码,以达到保证并发安全的效果。1.2如何实现如果一段代码被synchronized关键词修饰,那么这段代码就会以原子的方式执行,多个线程在执行该段代码时不会相互干扰,因为多个线程不会同时执行该段代码,从而不会发生并发问题。如...原创 2019-03-20 10:51:15 · 1190 阅读 · 0 评论 -
Java中String直接赋字符串和new String的区别
1. String是一个对象。 因为对象的默认值是null,所以String的默认值也是null;但它又是一种特殊的对象,有其它对象没有的一些特性。2. new String()和new String(“”)都是申明一个新的空字符串,是空串不是null; 3. String str=”kvill”; String str=new String (“kvill”);的区别: 常...原创 2018-10-10 15:03:02 · 1378 阅读 · 0 评论 -
Java int 和Integer的区别
int是java提供的8种原始数据类型之一。Java为每个原始类型提供了封装类,Integer是java为int提供的封装类。int的默认值为0,而Integer的默认值为null,即Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况。 例如:要想表达出没有参加考试和考试成绩为0的区别,则只能使用Integer。在JSP开发中,Integer的默认...原创 2018-10-08 17:31:40 · 364 阅读 · 0 评论 -
java 常用的
1 SpringBootApplication注解 所有的springboot application启动类都需要在类级别上加上@SpringBootApplication注解2 RestController @RestController注解能够使项目支持Rest3 RequestMapping @RequestMapping表示请求的URL上下文路径,该路径不能重复,为了保证...原创 2018-09-03 15:12:29 · 262 阅读 · 0 评论 -
hibernate学习
为什么要用ORM?1 不同的数据库使用的SQL语法不同,比如:PL/SQL(or) 与 T/SQL(sqlserver)2 同样的功能在不同的数据库中有不同的实现方式,比如分页3 程序过分依赖SQL对程序的移植及扩展,维护等带来很大的麻烦 什么是Hibernate?hibernate 是Java领域的一款开源的ORM框架技术,对JDBC进行了轻量级的对象封装,充当持久化层...原创 2018-09-04 09:46:40 · 142 阅读 · 0 评论 -
idea java 常用设置
intellij idea 2 显示空格和换行设置File -> Settings -> Editor -> General -> Appearance -> Show whitespaceIDEA 中的 Tab 键设置 为 4 个空格Setting(Project Settings)->Code Style->General在右侧的面...原创 2018-08-23 09:19:37 · 1345 阅读 · 0 评论 -
java 基础数据类型--整形的方法总结
1:Integer有两种对应的构造方法Integer(int value) 构造一个新分配的 Integer 对象,它表示指定的 int 值。Integer(String s) 构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值。String.valueOf(number) 字符串转化成整数Integ...原创 2018-08-06 20:23:48 · 479 阅读 · 0 评论 -
maven 配置
什么是“坐标”?在Maven中,坐标是Jar包的唯一标识,Maven通过坐标在仓库中找到项目所需的Jar包。 如下代码中,groupId和artifactId构成了一个Jar包的坐标。<dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic<...原创 2018-07-14 08:57:05 · 309 阅读 · 0 评论 -
mac 下 maven 的安装
Mac下安装maven步骤如下:下载maven, http://maven.apache.org/download.cgi 下载 我们选择binary zip archive 的类型 。 我选择的是maven3.5.4解压maven 解压下载好的maven’,将目录丢到终端命令去获取文件路径。设置path: vi ~/.bash_profile 添加maven的路径,将下载好的maven资源引入...原创 2018-07-14 05:51:31 · 800 阅读 · 0 评论 -
java 入门学习
1: 查看Java的版本 运行 cmd 输入命令 java -version2:查看maven版本 输入mvn -version原创 2018-07-13 15:29:00 · 180 阅读 · 0 评论 -
java 元注解
1 @Target 描述注解使用的范围2 @Retention描述注解的生命周期3@Documented被标准的程序成员的公共API4@Inherited描述某个被标注的类型是被继承的原创 2018-10-25 14:39:46 · 144 阅读 · 0 评论 -
JVM 内存管理
1: 什么是JAVA虚拟机虚拟机定义:模拟某种计算机系统结构,执行特定命令集的软件(系统虚拟机 VMware)进程虚拟机: JVM Adobe Flash Play FC模拟器高级语言虚拟机: JVM JAVA虚拟机:必须通过JAVA TCK 的兼容性测试的JAVA虚拟机2:运行时数据区的划分:程序计数器Java虚拟机栈本地方法栈方法区JAVA堆 2.1 程序计...原创 2018-10-30 15:33:25 · 165 阅读 · 0 评论 -
JAVA 多线程 Runnable
实现Runnable接口的步骤: A:定义类MyRunnable实现接口Runnable B:重写run()方法 C:创建MyRunnable的对象 D:创建Thread类的对象,并把C步骤的对象作为构造参数传递 E:启动线程 有了继承Thread类的方式,为什么还要有实现Runnable接口的方式? 原因是因为类是单继承。...原创 2019-03-14 10:59:39 · 183 阅读 · 0 评论 -
Hibernate高级查询
1 Hibernate 中标准化对象查询 通过面向对象化的设计,将查询条件封装为一个对象。它支持在运行时动态生成查询语句1) Criteria 接口:2)Criterion接口3)Order类4)Projection接口5) 离线查询2 Hibernate中HQL的高级查询3 Hibernate的Native SQL查询4 Hibernate 存储过程的调用...原创 2019-01-14 15:06:14 · 230 阅读 · 0 评论 -
SpringBoot定时任务schedule
SpringBoot使用注解方式开启定时任务 1)启动类里面 @EnableScheduling开启定时任务,自动扫描 2)定时任务业务类 加注解 @Component被容器扫描 3)定时执行的方法加上注解 @Scheduled(fixedRate=2000) 定期执行一次 2、SpringBoot常用定时任务配置实...原创 2019-01-14 15:04:59 · 203 阅读 · 0 评论 -
springboot 在idea中实现热启动
1: 概念热启动:修改代码保存时会自动重新启动项目。热部署:动态替换你修改的class,效率会更高。 2:热启动SpringBoot的web项目,在每一次修改了java文件或者是resource的时候,都必须去重启一下项目,这样的话浪费了很多的时间,实现了热启动,在每一次作了修改之后,都会自动的重启 第一步:引入热加载的插件,springboot 1.3开始就有的<...原创 2019-01-02 14:17:58 · 461 阅读 · 0 评论 -
sprint boot 学习
1:https://docs.spring.io/spring-boot/docs/2.1.1.RELEASE/reference/htmlsingle/#getting-started 官方文档2: 简介:SpringBoot2.xHTTP请求注解讲解和简化注解配置技巧 1、@RestController and @RequestMapping是springMVC的注解,不是sp...原创 2018-12-27 16:44:01 · 176 阅读 · 0 评论