求解决方案
JVM 对 Java 的原生锁做了哪些优化?
为什么说 Synchronized 是非公平锁?
什么是锁消除和锁粗化?
有大佬能解释一下吗?
nio是否适合做长连接?
使用bio做服务器时,由于服务器为每个客户端单独创建线程,多个客户端下载时(即长期使用一个线程),都能下载,只是分摊了服务器带宽而已。
使用nio做服务器时,由于服务器单线程,只能给一个客户端服务,其它客户端卡死。
那么nio上有没有相关解决方案,或使用netty的解决方法
项目版本
springboot 2.1.0
项目日志
项目里面没有找到未关闭的 链接哦
lsof -p 大量的:
怎么使用日期进行分组,代码和sql都行。
公司有一个需求,要对数据进行分组存储,分组的要求就是,按照数据的创建时间分组,一天的数据分为一组,怎么使用sql或者代码实现?
上面两种单利模式写法我觉得没有优劣之分,本质都是一样的,内部类和恶汉式写法都是在在加载的时候就初始化。 不知道大家怎么看?
前端上传EXCEL文件,后台servlet怎么获取EXCEL中的数据
前端代码也是我写的,本人主要后端,前端没写过,不知道这样是否可行。
前端是jsp,直接给各位看ajax中的核心内容
$("#saveButton").click(function(){
var formData = new FormData();
var name = $("#articleImageFile").val();
formData.append("file",$("#articleImageFile")[0].files[0]);
formData.append("name",name);//这个地方可以传递多个参数
$.ajax({
url : "view/ImportExcelAction",
type : 'POST',
data : formData,
// 告诉jQuery不要去处理发送的数据
processData : false,
// 告诉jQuery不要去设置Content-Type请求头
contentType : false,
beforeSend:function(){
console.log("正在进行,请稍候");
},
success : function(responseStr) {
if(responseStr=="01"){
alert("导入成功");
}else{
alert("导入失败");
}
}
});
});
后端是没有框架,最原始的那种,使用servlet.
上图
首先方法调用没有问题,方法是可以进入的。
关键问题就是通过request如何能得到EXCEL文件数据。前端好像将数据放入了formdata中。
我在网上将request转化成各种类型依然无解,无法读取。
请问各位有人遇见过吗?感谢。
springboot+thymeleaf写得html页面,提供给了安卓用,安卓嵌入到了app中,但是其中有个下载网络文件的按钮,点击后不会像web一样直接下载文件,请问有知道怎么解决的朋友吗?
场景:项目里是多数据源(oracle, presto) 查询数据库是使用jdbc方式 ORM框架使用的是 mybatis,现在项目需要对presto的那部分dao 查询修改为 http post方式(传入SQL,和 URL 就可以返回查询结果集),
如果所有的 presto dao 都修改成不依赖mybatis 过于繁琐要重新封装SQL 和 结果集映射, 我想咨询是否可以重写mybatis插件的方式 针对 presto 数据源调用的时候 修改调用方式, sql封装和结果集映射还是继续交给mybatis。 这样理论上可以实现么?
docker安装完启动的时候提示Failed to start docker.service: Unit not found.有没有同学也遇到这种情况的?
centos 安装了mysql,开放了所有权限,外网可访问,docker 部署spring boot项目
数据库连接配置为127.0.0.1 运行无法连接数据库
问题出现的环境背景及自己尝试过哪些方法
docker 部署spring boot项目
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
你期待的结果是什么?实际看到的错误信息又是什么?
docker 查看日志 显示无法连接数据库, 是ip要配置为 centos宿主机的内网ip或者公网ip吗?
一个线程面试题中代码遇到的问题
三个人跑步,依次翻越障碍,必须3个人都翻阅一个时候,大家才能翻阅下一个。
我代码基本实现,但是有个问题。
import java.util.Random;
public class ThreadNumber {
//存有三个人跑的距离
public static class Num {
int m = 1;
int j = 1;
int g = 1;
}
/**
* 线程交替标识,true跑完了
*/
/**
* 打印奇数的线程类
*/
public static class Mming implements Runnable {
Num num;
//此段是否跑完
boolean flagM = false;
public Mming(Num num) {
this.num = num;
}
@Override
public void run() {
while (num.m <= 3) {
if ((!flagM)) {
System.out.println("m开始跑" + num.m + "个" + current());
int time = randomNum();
try {
Thread.sleep(time);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("Mming花了" + time + "跑完第" + num.m + "个" + current());
num.m++;
flagM = true;
//检查另外两人是否跑完
if (num.j >= num.m && num.g >= num.m) {
flagM = false;
}
} else {
if (num.j >= num.m && num.g >= num.m) {
flagM = false;
}
System.out.println("!!!!!!!");
}
}
}
}
/**
* 打印偶数的线程类
*/
public static class Jordan implements Runnable {
Num num;
boolean flagJ = false;
public Jordan(Num num) {
this.num = num;
}
@Override
public void run() {
while (num.j <= 3) {
if ((!flagJ)) {
System.out.println("j开始跑" + num.j + "个" + current());
int time = randomNum();
try {
Thread.sleep(time);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("Jordan花了" + time + "跑完第" + num.j + "个" + current());
num.j++;
flagJ = true;
if (num.m >= num.j && num.g >= num.j) {
flagJ = false;
}
} else {
if (num.m >= num.j && num.g >= num.j) {
flagJ = false;
}
System.out.println("!!!!!!!");
}
}
}
}
public static class Guai implements Runnable {
Num num;
boolean flagG = false;
public Guai(Num num) {
this.num = num;
}
@Override
public void run() {
while (num.g <= 3) {
if ((!flagG)) {
System.out.println("g开始跑" + num.g + "个" + current());
int time = randomNum();
try {
Thread.sleep(time);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("Guai花了" + time + "跑完第" + num.g + "个" + current());
num.g++;
flagG = true;
if (num.m >= num.g && num.j >= num.g) {
flagG = false;
}
} else {
if (num.m >= num.g && num.j >= num.g) {
flagG = false;
}
System.out.println("!!!!!!!");
}
}
}
}
volatile static Num num = new Num();
public static void main(String[] args) {
new Thread(new Guai(num)).start();
new Thread(new Mming(num)).start();
new Thread(new Jordan(num)).start();
}
public static int randomNum() {
Random rand = new Random();
return rand.nextInt(1000) + 1000;
}
public static String current() {
return Long.toString(System.currentTimeMillis());
}
}
这段代码执行可以,但是如果把 System.out.println("!!!!!!!");删除。执行就会卡死。完全搞不明白为什么!!!!!!!求助
为什么执行完 docker run -d --name my-hello hello-world
再执行 docker ps ,却看不到正在运行的容器
我的maven又不自动下载jar包了, 这个问题折磨了好长时间, 前端时间还可以。
网上说的解决方法大多我都试过了, 还是不行, 哪位大神给指点一下, 非常感谢
!!!!
1 现在情况如下图
1.启动失败
2.导致这种情况的原因
1.先创建成功yan-centos7
2.关闭后,电脑重启
3.打开要启动之前创建的虚拟机yan-centos7
4.运行了vagrant up,没有看到预想的yan-centos7启动,结果
5.又出现了一个虚拟机
3.请问
1.为什么会这样?
2.如何用命令管理有多个虚拟机的启动,停止,运行
静态代码块不是在类加载的时候就执行了,并且只执行一次吗?
类如下:
public class ClassLoaderStudy {
static { System.out.println("外部静态代码块"); }
public static final String str = "外部静态字段";
}
执行
public static void main(String[] args) {
System.out.println(ClassLoaderStudy.str);
}
输出为:
外部静态字段
静态初始化代码块里的内容并没有执行,这是为什么?都调用了这个类的字段,不可能还没有加载类啊
比如:
问题描述
如何简单高效地将一个对象List中的属性copy到另一个属性相同的对象List中
问题出现的环境背景及自己尝试过哪些方法
相关代码
class User{
private int age;
private String name
}
class Person{
private int age;
private String name
}
List<User> userList = new ArrawList<User>();
userList.add...
List<Person> personList = userList ===> personList ????
你期待的结果是什么?实际看到的错误信息又是什么?
简单高效