为什么将sqlSessionFactory通过静态代码块创建就是单例的?
在反射中实例化对象后,为什么不能直接使用对象.方法名的方式调用方法?这里和之前直接创建类的对象后调用方法有什么区别?
老师,实例方法是实例调用的,那么main方法启动时是谁调用它执行的呢?
老师这边这个error为什么不用加/,不是应该通过pageController跳转嘛?
没安装vscode,请问这部分代码可以Hbuilder运行吗?
请问老师,key.hashCode()这里的意思就是取哈希值的低16位,那为什么视频里老师在对key.hashCode和h>>>16时做异或运算时,key.hashCode()不是把十六位之前的数字看做0?
老师,这个number括号里的8,2表示什么啊
class RegisterView(View): def get(self,request): return render(request,'register.html') def post(self,request): #获取请求参数 uname = request.POST.get('account','') pwd = request.POST.get('password','') #注册用户信息 try: user = UserInfo.objects.get(uname=uname,pwd=pwd) return render(request,'register.html') except UserInfo.DoesNotExist: user = UserInfo.objects.create(uname=uname,pwd=pwd) #默认session存储到数据库中,对象无法直接传入,需要将注册的用户对象序列化为json格式存入session中,后续在全局上下文mycontext中反序列化为User对象 request.session['user'] = jsonpickle.dumps(user) return HttpResponseRedirect('/user/center/')
老师,这里为什么存入、读取user时需要用jsonpickle.dumps、jsonpickle.loads进行序列化和反序列化啊?
哪些时候需要进行序列化,用什么方式进行序列化如何判断啊?
老师,为什么这里添加约束是用add,而前面添加primary key时用的modify啊
class ManTou { private int id; public ManTou(int id) { this.id = id; } public int getId() { return this.id; } } /** * 定义缓冲区类 */ class SyncStack { //定义存放馒头的盒子 private ManTou[] manTous = new ManTou[10]; //定义操作盒子的索引 private int index; /** * 放馒头的方法 */ public synchronized void put(ManTou manTou) { //判断盒子是否已满 while (this.index == this.manTous.length) { try { this.wait(); //wait()必须在synchronized块中调用 wait()执行后 线程会将持有的对象锁释放 并进入阻塞状态 其他需要该对象锁的线程就可以继续运行了 } catch (InterruptedException e) { e.printStackTrace(); } } //唤醒取馒头的线程 this.notify(); //该方法必须在synchronized块中调用 会唤醒处于等待状态队列中的一个线程 this.manTous[this.index] = manTou; this.index++; } /** * 取馒头的方法 */ public synchronized ManTou get() { //判断盒子是否已空 while (this.index == 0) { try { this.wait(); } catch (InterruptedException e) { e.printStackTrace(); } } this.notify(); this.index--; return this.manTous[this.index]; } } /** * 定义生产者线程类 */ class ShengChan extends Thread { private SyncStack syncStack; public ShengChan(SyncStack syncStack) { this.syncStack = syncStack; } @Override public void run() { for (int i = 0; i < 10; i++) { ManTou manTou = new ManTou(i); syncStack.put(manTou); System.out.println("生产第"+(i+1)+"个馒头"); } } } /** * 定义消费者线程类 */ class Xiaofei extends Thread { private SyncStack syncStack; public Xiaofei(SyncStack syncStack) { this.syncStack = syncStack; } @Override public void run() { for (int i = 0; i < 10; i++) { ManTou manTou = this.syncStack.get(); System.out.println("消费了" + (i+1) + "个馒头"); } } } public class ProduceThread { public static void main(String[] args) { SyncStack syncStack = new SyncStack(); new ShengChan(syncStack).start(); new Xiaofei(syncStack).start(); } }
老师为什么我这里会出现先消费的现象啊?
老师,为什么这里modify后面的修改内容不需要写在括号里啊
老师我这个是怎么回事 名字都是对的呀 可是就是提示找不到
老师这边的@MapperScan("com.bjsxt.springbootmybatis.mapper")为什么是从com.bjsxt开始?为什么不是从src/man/java开始的?
接上图..................................
后面注释应该是40/2/2/2=5,高老师打错了
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637