随笔分类 - Java_relevant
java知识相关
摘要:java中就没有全局变量这个概念,只分为成员变量和局部变量。 成员变量:Static修饰成为类变量或静态变量,还有就是方法外的变量。生命周期与类相同。局部变量:就是方法中的变量。生命周期就是再次方法中。 但是,很多人学习都是先学习的C语言,C语言中存在全局变量这个概念,所以,大家对于Java中的成员
阅读全文
摘要:1.数组的概念:是一种容器,可以同时存放多个数据值 2.数组的特点: 1).数组是一种引用类型. 2).数组当中的多个数据,类型必须统一 3).数组的长度在程序运行期间不可改变 3.数组的初始化,在内存当中创建一个数组,并且象棋中赋予一些默认值 两种常见的初始化方式: 1).动态初始化(指定长度);
阅读全文
摘要:java方法区详解 方法区 保存在着被加载过的每一个类的信息;这些信息由类加载器在加载类的时候,从类的源文件中抽取出来;static变量信息也保存在方法区中; 可以看做是将类(Class)的元数据,保存在方法区里; 方法区是线程共享的;当有多个线程都用到一个类的时候,而这个类还未被加载,则应该只有一
阅读全文
摘要:如今,代码质量分析和审核已成为每个企业的基本流程。随着开源代码库使用的增加,安全性和代码质量对于构建高质量软件至关重要。不良的代码不仅会影响代码的可维护性,而且还会在某些情况下影响其性能。此外,更好的代码质量还有助于企业将来减少维护和降低成本。幸运的是,有很多审核和管理代码的工具,为开发者和程序员提
阅读全文
摘要:package com.nantian.sms.service; import java.math.BigDecimal;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.ArrayL
阅读全文
摘要:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" ><map
阅读全文
摘要:判断思路: 先筛选出短信内容中包含的中文字符,再用短信内容长度减去中文字符,便得到剩下的字符数,然后算出总字节数 /** * 判断是否是长短信 */ private Integer judgeLongMsg(String tempContent) { //判断短信中有几个中文字符 int count
阅读全文
摘要:1.cpu个数、核数、线程数、Java多线程关系的理解 URL地址:https://blog.csdn.net/helloworld0906/article/details/905471592.物理cpu数和cpu核数和逻辑cpu数和vcpu区别 URL地址:https://blog.csdn.ne
阅读全文
摘要:1.关于“计算短信要拆分的条数”:URL地址:https://blog.csdn.net/iteye_3989/article/details/82239179
阅读全文
摘要:// 放在要检测的代码段前,取开始前的时间戳Long startTime = System.currentTimeMillis(); // 放在要检测的代码段前,取结束后的时间戳Long endTime = System.currentTimeMillis(); // 计算并打印耗时Long tem
阅读全文
摘要:URL:https://www.cnblogs.com/cartooon/p/10993744.html
阅读全文
摘要:volatile volatile关键字的主要作用是使变量在多个线程间可见 使用方法: private volatile int number=0; 图示: 两个线程t1和t2共享一份数据,int a=0,但是两个线程间是不可见的,t1修改a=10,但对于t2来说a还是从0变到20,两个线程是独立的
阅读全文
摘要:volatile volatile关键字的主要作用是使变量在多个线程间可见 使用方法: private volatile int number=0; 图示: 两个线程t1和t2共享一份数据,int a=0,但是两个线程间是不可见的,t1修改a=10,但对于t2来说a还是从0变到20,两个线程是独立的
阅读全文
摘要:1.synchronized可以使用任意的Object进行加锁,用法比较灵活 另外特别注意一个问题,就是不要使用String常量加锁,会出现死循环 输出结果: 永远都是t1开始,t1结束,没有t2什么事,这是什么原因呢? String在常量池中只有一个引用,所以尽量不要用字符串常量去加锁 可以采用如
阅读全文
摘要:synchronized锁重入: 关键字synchronized拥有锁重入的功能,也就是使用synchronized时,当一个线程得到了一个对象的锁后,再次请求此对象时是可以再次得到对象的锁. 输出结果: method1方法加了synchronized了,在method1()方法中调用加synchr
阅读全文
摘要:脏读: 对于对象的同步和异步的方法,我们在设计自己的程序的时候,一定要考虑问题的整体,不然就会出现数据不一致的错误,很经典的错误就是脏读. 首先是主线程,走着走着出现一个t1线程,t1执行run方法,调用setValue();主线程1秒的时候调了getValue()方法; 从上面看,在t1线程2秒内
阅读全文
摘要:多个线程多个锁:多个线程,每个线程都可以拿到自己指定的锁,分别获得锁之后,执行synchronized方法体的内容 (1).不加static关键字执行结果 运行结果: (2).加上static关键字执行的结果 加static的意思是:在静态方法上 加上synchronized修饰的话,(以后获得的锁
阅读全文

浙公网安备 33010602011771号