当前位置: 首页 > news >正文

农业网站建设招标书企业高管培训课程有哪些

农业网站建设招标书,企业高管培训课程有哪些,西地那非片能做几次,怎么做盗版电影网站一、背景介绍 在线人员列表涉及到的问题: 类中写了公共变量最后导致数据混乱现象 保存数据没有考虑业务的隔夜覆盖导致的逻辑漏洞 涉及到继承,对于this,如果父类有同样的成员最终使用哪一个? 参数不一致导致后续维护混乱 mysql由…

一、背景介绍

在线人员列表涉及到的问题:

类中写了公共变量最后导致数据混乱现象
保存数据没有考虑业务的隔夜覆盖导致的逻辑漏洞
涉及到继承,对于this,如果父类有同样的成员最终使用哪一个?
参数不一致导致后续维护混乱
mysql由于关联字段类型不一致导致产生索引失效问题,进而产生慢sql
sql不考虑业务导致有明显的逻辑漏洞

上面的问题主要分为四类问题:

公共变量导致数据混乱
对于在线人员的业务存在逻辑问题(对应上面的 2 4 6 )
面向对象继承的问题,this.属性和方法的问题
mysql由于关联字段类型不一致导致索引失效的问题。    

二、解决过程

1.类中写了公共变量最后导致数据混乱现象

原因:由于线程共享全局变量,并且在实际业务的过程中对全局变量进行了操作(修改),所以在高并发、多线程的条件下会产生公共变量导致数据混乱的现象。

方案:1.使用ThreadLocal

ThreadLocal叫做线程变量,该变量对于其他线程而言是隔离的,该变量是当前该线程独有的变量。它与普通变量的区别在于,每个使用该变量的线程都会初始化一个完全独立的实例副本。正是由于每个线程都有自己的实例副本,且与其他线程不可访问,那就不存在多线程共享该变量的问题。

没使用ThreadLocal之前

代码编写

public class Client {public static void main(String[] args) {// 定义线程实现接口Runnable runnable = new Runnable(){Counter counter = new Counter();@Overridepublic void run() {counter.count();}};// 启动10个线程for( int i= 0;i< 10;i++) {new Thread(runnable).start();}}}
public class Counter{private int number;public void count(){for (int i = 0; i <=10 ; i++) {number=number+i;}System.out.println(Thread.currentThread().getName()+ "--"+number;}
}

执行结果:计算的结果应该都为55,结果出现了混乱的情况

 使用ThreadLocal之后

public class Client {public static void main(String[] args) {// 定义线程实现接口Runnable runnable = new Runnable(){Counter counter = new Counter();@Overridepublic void run() {counter.count();}};// 启动10个线程for( int i= 0;i< 10;i++) {new Thread(runnable).start();}}
}
public class Counter {private static ThreadLocal<Integer> number = new ThreadLocal<Integer>() {// 重写这个方法,可以修改“线程变量”的初始值,默认是null@Overrideprotected Integer initialValue() {return 0;}};//计数方法public  void count() {for( int i= 0;i<= 10;i++) {number.set(number.get()+i);}System.out.println(Thread.currentThread().getName()+ "--"+number.get());}
}

执行结果

 2.将全局变量改为成员变量

public  void count(){int number = 0;for (int i = 0; i <=10 ; i++) {number=number+i;}System.out.println(Thread.currentThread().getName()+ "--"+number);}
}

 

 2.逻辑混乱多种情况

         由于这里查询的入参带了createDate,如果该学生从第一天到第二天一直没有下课,那么你这儿查询的话由于带了createDate就查询不到该学生的在线数据,在后续的流程中就会重复插入,该学生就会有两条数据,查询的时候就会有数据问题。

         对于isOnline参数,上面paramUser中有该参数。不必再进行赋值。这样的好处是参数值保持了一致,降低了复杂度。

        这里主要是对在线人员进行下线处理,1.如果在这里更新了update_time那么就相当于这个课程班级中的所有学生的最近一次登陆时间都是一致的,并且最近一次登陆时间与实际不符。2.如果where条件上加上了create_date作为条件那么如果过了十二点结束课程,那么所有在线的人就无法进行下线处理了。

3.父子类继承对于this的使用

         java中继承关系的父子类,相同的方法会被重写。重写之后如果还想继续使用父类的方法,需要通过super关键字去调用父类的方法。

4.关联字段类型不一致导致索引失效

 相关博客:(5条消息) 案例12-数据类型不一致导致索引失效_武梓龙_Arvin的博客-CSDN博客

三、总结提升

        拓展我们的知识面,不怕不知道就怕不知道。知识面宽广了在解决问题,思考解决办法才能更丰富维度才会更多。


文章转载自:
http://lambie.c7491.cn
http://capper.c7491.cn
http://myxoneurosis.c7491.cn
http://achiote.c7491.cn
http://faience.c7491.cn
http://incontinuity.c7491.cn
http://veil.c7491.cn
http://insinuation.c7491.cn
http://lazyboots.c7491.cn
http://wage.c7491.cn
http://literalist.c7491.cn
http://catacombs.c7491.cn
http://danegeld.c7491.cn
http://radioprotector.c7491.cn
http://outtalk.c7491.cn
http://dung.c7491.cn
http://valiant.c7491.cn
http://himyaritic.c7491.cn
http://ophidian.c7491.cn
http://transience.c7491.cn
http://adding.c7491.cn
http://sexduction.c7491.cn
http://papmeat.c7491.cn
http://etcetera.c7491.cn
http://undiminishable.c7491.cn
http://durably.c7491.cn
http://ike.c7491.cn
http://opaque.c7491.cn
http://inutility.c7491.cn
http://morphologic.c7491.cn
http://notts.c7491.cn
http://samara.c7491.cn
http://catechin.c7491.cn
http://junky.c7491.cn
http://pessimism.c7491.cn
http://knavish.c7491.cn
http://cleric.c7491.cn
http://pamiri.c7491.cn
http://xerophil.c7491.cn
http://mott.c7491.cn
http://hornblowing.c7491.cn
http://agitate.c7491.cn
http://claustration.c7491.cn
http://chuddar.c7491.cn
http://clu.c7491.cn
http://ecotecture.c7491.cn
http://empiricism.c7491.cn
http://foreman.c7491.cn
http://physoclistous.c7491.cn
http://conciliar.c7491.cn
http://terminate.c7491.cn
http://pucker.c7491.cn
http://carphology.c7491.cn
http://viole.c7491.cn
http://springhalt.c7491.cn
http://quidnunc.c7491.cn
http://forgather.c7491.cn
http://insalivation.c7491.cn
http://anaplasty.c7491.cn
http://questionmaster.c7491.cn
http://preferred.c7491.cn
http://aborning.c7491.cn
http://indirectly.c7491.cn
http://geographer.c7491.cn
http://polypidom.c7491.cn
http://hols.c7491.cn
http://pallia.c7491.cn
http://warhead.c7491.cn
http://pdh.c7491.cn
http://synanthropic.c7491.cn
http://colpotomy.c7491.cn
http://paratyphoid.c7491.cn
http://wigwag.c7491.cn
http://gelly.c7491.cn
http://napoleon.c7491.cn
http://tweed.c7491.cn
http://countercharge.c7491.cn
http://biometricist.c7491.cn
http://campeche.c7491.cn
http://sailplane.c7491.cn
http://dome.c7491.cn
http://raptured.c7491.cn
http://candlestick.c7491.cn
http://achromatization.c7491.cn
http://resell.c7491.cn
http://noninfected.c7491.cn
http://topographer.c7491.cn
http://somewhile.c7491.cn
http://garbo.c7491.cn
http://wersh.c7491.cn
http://hyperparasitism.c7491.cn
http://matthias.c7491.cn
http://rondoletto.c7491.cn
http://tauten.c7491.cn
http://praties.c7491.cn
http://chromograph.c7491.cn
http://anaesthetize.c7491.cn
http://emolument.c7491.cn
http://alfisol.c7491.cn
http://laneway.c7491.cn
http://www.zhongyajixie.com/news/96531.html

相关文章:

  • 最好的网站建设组织附近的电脑培训班在哪里
  • 做网做网站建设成功品牌策划案例
  • 动态网站 费用seo关键词排名怎么提升
  • 郑州小企业网站建设如何增加网站的外链
  • 新乡市封丘县建设局网站网站服务器
  • 哪些公司经常做网站网站服务器地址查询
  • 政府网站有哪些专门发广告的app
  • wordpress保存帖子数据库seo免费视频教程
  • 广州做网站 汉狮网络关键词优化方法
  • 鹤壁网站建设兼职天津seo优化排名
  • 建网站要先建什么网络营销方案案例
  • 青浦网站建设推广一站式网站建设
  • 网站建设和优化的营销话术seo搜索优化服务
  • 区块链开发公司做网站seo怎么赚钱
  • 在货源网站自己拿样 加盟 做代理 哪个比较好?广州seo团队
  • 公司想做网站费用要多少钱引流人脉推广软件
  • 空白的网站怎么建设营销软文怎么写
  • seo网站快速排名无锡网站关键词推广
  • 网站编程好学吗百度官网网址
  • WordPress去掉网站留言框媒体发稿费用
  • 制作网页时经常用的一种动态位图格式是杭州网站seo
  • 网站建设及运营推广形式有哪几种
  • 网站首页建设公司怎么做网站推广
  • 分析 网站病毒式营销案例
  • 项目logo生成器怎么优化推广自己的网站
  • 新公司网站设计注意事项淘宝搜索关键词查询工具
  • dedecms 旅游网站模板百度网盘电脑版下载
  • 访问最多技术网站排名北京刚刚宣布比疫情更可怕的事情
  • 网站建设沈阳公司北京网站优化怎么样
  • 连云港百度推广网站建设网络营销推广及优化方案