自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 不带条件查询导致数据库,服务器挂掉 解决办法

1.写mybatis查询拦截器,判断sql是否有where条件(这个办法比较彻底)2.设置mybatis查询超时时间,防止查询时间过长3.把sql_safe_updates参数设置为on。这样一来,如果我们忘记在delete或者update语句中写where条件,或者where条件里面没有包含索引字段的话,这条语句的执行就会报错。(只针对更新 删除语句)4.慢查询监控还是有必要...

2021-11-24 14:08:07 907

原创 java并发编程实践之对象的共享

3.1.可见性 synchronized除了用于操作的原子性之外,还有更加重要的作用,可见性。内存可见性:当某个线程修改某状态时,其他线程不要读写或者修改该状态,并且当线程修改好状态后,其他线程都能在内存中看到该状态的改变。 图一 如果并发正确的话,主线程启动读线程,主线程对number,ready赋值后,读线程读到ready=true,并最后打印出number=4

2017-05-08 22:43:07 268

原创 java并发编程实践之线程安全性

1.首先了解什么是线程安全性? 线程安全性定义:当多个线程访问某个类时,不管运行环境采用何种调度方式和线程如何交替轮流执行,并且在主代码中不需要任何额外的同步或协同,这个类都能表现出正确性的行为,那么就称这个类是线程安全的。大致意思就是多个线程要访问同一个类,不管操作系统如何调度这些线程,以及线程如何争抢cpu,我都不需要写额外的同步或者协同代码,该类都能正确的被执行;(尼玛,书上对正确性的行

2017-05-07 20:59:30 660

原创 Java异常

分不清运行时异常和检查异常;1.运行时异常(RuntimeException):一般是我们自己的程序逻辑出现错误,比如,数组越界,分母为0等,这些需要我们修改程序逻辑;2.检查异常(checked Exception):是除了RuntimeException及其子类的大多数异常;一般我们程序没错,但是外部环境导致程序抛出异常,比如,你想读一个文件,但是这个文件并不存在,就会跑出FileNotFoun

2017-04-19 10:52:57 281

原创 Hashtable,HashMap,ConcurrentHashMap

一.Hashtable 1.Hashtable和ConcurrentHashMap都是线程安全的,HashMap非线程安全的,要想使用HashMap并发,还要自己实现。 2.实现原理是hashtable,存储的数据结构是Entry数组链表; private transient Entry<?,?>[] table;3.Hashtable要重写hashCode()和equals()方法;其中equ

2017-03-20 18:09:43 212

原创 spring IOC 和spring aop

spring IOC 和spring aop1.spring IOC:原来完成核心业务可能会需要多个对象协作完成,就是一个对象里面如果用到其他对象我们需要new Object()来实现,这样使得对象之间的耦合性比较高。现在使用Spring IOC,使得类的实例化由IOC容器完成(一般都在配置文件里面配置),我们只关注业务实现就可以了。 依赖注入最常用的有set注入,constructor注

2017-03-20 11:13:43 257

原创 Java参数传递是按值传递的

基本数据类型和基本数据类型的包装类都是按值传递的,比如下面这个程序:public class Test{ public void fun(Integer i){ i += 2; } public static void main(String args[]){ Integer i = new Integer(0); fun(i)

2017-02-08 23:01:26 189

原创 操作系统信号量通俗理解

操作系统信号量,生产者和消费者问题,哲学家问题,我一直没有搞明白,最近找实习,又学习一次,下面是信号量的通俗理解。P操作(信号量 S)S = S-1;if(s>=0) 线程继续执行if(s<0) 线程阻塞可以把P操作看成排队,S = S-1,如果S>=0,说明前面还有通道可以通过,不必排队等候;如果S<0,说明前面已经有人在排队了,你需要等候; V操作S = S+1;如果S

2016-12-27 00:59:23 3621

原创 吐槽

靠,快被自己蠢哭了,记录一下,省的自己忘了; 1:jdk需要自己安装,Tomcat下载的不是安装版的,需要另外配置环境; CATALINA_BASE:Tomcat的路径;CATALINA_HOME:也是Tomcat的路径; eclipse里有小猫出现,需要另外下载Tomcat插件,然后在windos-preference-server里重新配置;2:发布web应用简单且不需要重启Tomcat服

2016-12-21 21:11:52 319

原创 Single Number

用到了异或^,比如4^4=0,代码如下:int singleNumber(int* nums, int numsSize) { if(numsSize == 1) return nums[0]; numsSize--; while(numsSize){ nums[0] = nums[0]^nums[numsSize]; nums

2016-11-15 20:54:27 243

原创 Evaluate Reverse Polish Notation

1,主要使用栈,c中字符串转换成整型数的方法是atoi(string str),代码如下: 遇到符号“+”,“-”,“*”,“/”,找两个数字运算;int evalRPN(char** tokens, int tokensSize) { int i = 0 ; int j = 0; int k = 0; int nums[20000]; while(i < to

2016-11-15 20:10:43 194

原创 java基础

1.子类继承父类不是不仅仅是克隆(clone),复制一次就万事大吉了,以后父类里接口发生变化,子类也要随着变化的。父类能干的事,子类都能干,但是反之不成立。问题是,子类继承父类时,在内存上是如何改变的?2.如果子类只继承父类,而不对父类里的接口的实现进行任何改变,那么子类其实和父类并无差别,应该没哪个二货吃饱了撑得没事这么干吧。那么我们有两种方式扩展父类(跟继承的关键字extends对上了):(1)

2016-11-05 21:03:03 259

原创 怎样通过Java使用webservice

昨天看了很多视频,觉得Java使用webservice接口两种方法最简单。 1.利用dos窗口,例子如下: 或者wisimport -s . http://192.168.137.2/Service.asmx?WSDL,其中 http://192.168.137.2/Service.asmx?WSDL是已经发布成功的webservice。2.利用eclipse: 新建一个Java

2015-04-10 10:27:26 320

原创 zoj 1201

1      由i转换为p时,注意数组中0的出现有两种情况,一个是就是第一位,另一个前面的数字均小于它,         不过处理的时候都一样,都是找到第一个空格时,遍历就停止;2    由i转换为p时,更要注意数组中不为0的数字,例如a数组中第二个元素是3,相当于把2填在b数组时,      2所在的位置前面有3个空格,但是除了空格也可能有已经填好的数字,比如1就在2的前面,  

2013-07-29 10:19:43 479

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除