「java调用ncnn」java调用https跳过证书
今天给各位分享java调用ncnn的知识,其中也会对java调用https跳过证书进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java如何调用对方http接口 新手虚心求教
- 2、我想让java连接sql数据库并且可以操作数据库执行sql语句具体怎么操作呢?
- 3、NCNN使用总结
- 4、java 里面怎样执行 语句块,就是declare 那种,不是那些单一的SQL语句。
java如何调用对方http接口 新手虚心求教
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
public class DemoTest1 {
public static final String GET_URL = "";
// public static final String POST_URL = "";
// 妙兜测试接口
public static final String POST_URL = "";
/**
* 接口调用 GET
*/
public static void httpURLConectionGET() {
try {
URL url = new URL(GET_URL); // 把字符串转换为URL请求地址
HttpURLConnection connection = (HttpURLConnection) url.openConnection();// 打开连接
connection.connect();// 连接会话
// 获取输入流
BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));
String line;
StringBuilder sb = new StringBuilder();
while ((line = br.readLine()) != null) {// 循环读取流
sb.append(line);
}
br.close();// 关闭流
connection.disconnect();// 断开连接
System.out.println(sb.toString());
} catch (Exception e) {
e.printStackTrace();
System.out.println("失败!");
}
}
/**
* 接口调用 POST
*/
public static void httpURLConnectionPOST () {
try {
URL url = new URL(POST_URL);
// 将url 以 open方法返回的urlConnection 连接强转为HttpURLConnection连接 (标识一个url所引用的远程对象连接)
HttpURLConnection connection = (HttpURLConnection) url.openConnection();// 此时cnnection只是为一个连接对象,待连接中
// 设置连接输出流为true,默认false (post 请求是以流的方式隐式的传递参数)
connection.setDoOutput(true);
// 设置连接输入流为true
connection.setDoInput(true);
// 设置请求方式为post
connection.setRequestMethod("POST");
// post请求缓存设为false
connection.setUseCaches(false);
// 设置该HttpURLConnection实例是否自动执行重定向
connection.setInstanceFollowRedirects(true);
// 设置请求头里面的各个属性 (以下为设置内容的类型,设置为经过urlEncoded编码过的from参数)
// application/x-javascript text/xml-xml数据 application/x-javascript-json对象 application/x-www-form-urlencoded-表单数据
// ;charset=utf-8 必须要,不然妙兜那边会出现乱码【★★★★★】
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");
// 建立连接 (请求未开始,直到connection.getInputStream()方法调用时才发起,以上各个参数设置需在此方法之前进行)
connection.connect();
// 创建输入输出流,用于往连接里面输出携带的参数,(输出内容为?后面的内容)
DataOutputStream dataout = new DataOutputStream(connection.getOutputStream());
String app_key = "app_key="+ URLEncoder.encode("4f7bf8c8260124e6e9c6bf094951a111", "utf-8"); // 已修改【改为错误数据,以免信息泄露】
String agt_num = "agt_num="+ URLEncoder.encode("10111", "utf-8"); // 已修改【改为错误数据,以免信息泄露】
String pid = "pid="+ URLEncoder.encode("BLZXA150401111", "utf-8"); // 已修改【改为错误数据,以免信息泄露】
String departid = "departid="+ URLEncoder.encode("10007111", "utf-8"); // 已修改【改为错误数据,以免信息泄露】
String install_lock_name = "install_lock_name="+ URLEncoder.encode("南天大门", "utf-8");
String install_address = "install_address="+ URLEncoder.encode("北京育新", "utf-8");
String install_gps = "install_gps="+ URLEncoder.encode("116.350888,40.011001", "utf-8");
String install_work = "install_work="+ URLEncoder.encode("小李", "utf-8");
String install_telete = "install_telete="+ URLEncoder.encode("13000000000", "utf-8");
String intall_comm = "intall_comm="+ URLEncoder.encode("一切正常", "utf-8");
// 格式 parm = aaa=111bbb=222ccc=333ddd=444
String parm = app_key+ agt_num+ pid+ departid+ install_lock_name+ install_address+ install_gps+ install_work+ install_telete+ intall_comm;
// 将参数输出到连接
dataout.writeBytes(parm);
// 输出完成后刷新并关闭流
dataout.flush();
dataout.close(); // 重要且易忽略步骤 (关闭流,切记!)
// System.out.println(connection.getResponseCode());
// 连接发起请求,处理服务器响应 (从连接获取到输入流并包装为bufferedReader)
BufferedReader bf = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));
String line;
StringBuilder sb = new StringBuilder(); // 用来存储响应数据
// 循环读取流,若不到结尾处
while ((line = bf.readLine()) != null) {
// sb.append(bf.readLine());
sb.append(line).append(System.getProperty("line.separator"));
}
bf.close(); // 重要且易忽略步骤 (关闭流,切记!)
connection.disconnect(); // 销毁连接
System.out.println(sb.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
// httpURLConectionGET();
httpURLConnectionPOST();
}
}
我想让java连接sql数据库并且可以操作数据库执行sql语句具体怎么操作呢?
首先创建连接
就创建个Cnnection对象,然后把驱动加上,还有帐号密码什么的!我没连过sql数据库,不知道驱动,你可以在网上搜一下。
给你一个我连接mysql数据库的例子
public Connection Getdata(){//这是连接数据库的一个方法,还可以配置连接池。
Connection con=null;
try {
Class.forName("com.mysql.jdbc.Driver");//加驱动
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/data","root","qq");//数据库路径、端口、库名、数据库用户名和密码
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return con;
}
public void delete(int id){//对数据库进行操作的方法,先调用上面写好的连接!
Connection con=Getdata();
Statement st;
try {
st=con.createStatement();
st.executeUpdate("delete from kaoshi where id="+id);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
NCNN使用总结
关于安装、编译、使用步骤等不在赘述, 官网 有很详细文档
使用caffe模型的时候,input部分一定要写成规范格式:
千万别图省事写成如下格式,caffe可以运行没问题,但是转化无法识别,这个ncnn数据结构导致!!!
网络定义的层千万别出现重复情况,一定要规范定义:
千万别写成如下网络,在caffe可以稳定运行,但是ncnn会读取上第一次出现的top层!!!
第一层输出是 concat_out1 ,第二层输出也是 concat_out1 ,当使用 ncnn.extract 会出现错误!!!
这貌似是算作 caffe 的问题,在笔者使用的过程忽略了这一点,干脆算 NCNN 操作里面了。
Batch Normalization 层有个 use_global_stats 参数,这个操作的作用是: 是否使用caffe内部的均值和方差
换句话的意思就是:
--------- true :使用caffe内部的均值和方差,其中方差和均值都是固定的,模型训练好之后,这两个值就固定了。
--------- false :使用当前层计算的方差和均值,这个是不固定的,是在训练过程一直改变,训练好的时候达到最优。
其中 NCNN 默认使用 true 状态,不管是 false 还是 true ,最终都是算作 true
caffe 测试的时候得手动设置为 true
正常来说 ncnn 和 caffe 原版的误差范围在 0.001 左右,我的数据在 0.000X 范围徘徊,如果你的数据精确不到第三个有效数字,那就得检查网络输入精度了。
输入的 substract_mean_normalize 得尽量精确,尤其是归一化的值!!!
假设 0-255 的图像需要归一化到 0-1 :
千万不要写成下面这样,读者可以自己测试,精度差别较大。
这里没有错误点,只有心得点。
看了NCNN的官网给的例子,它是将输出转化为一行数据,然后一个一个的进行处理:
个人感觉使用这种处理小数据还是可以的,本人使用网络输出 100 × 100 × 10 ,这种情况该如何处理?
本人使用处理如下:
NCNN官网有个人问能不能输入和输出多个通道数据,后者已经在上文实现,以下看前者。
java 里面怎样执行 语句块,就是declare 那种,不是那些单一的SQL语句。
我想你可能是要调用匿名块,既然是匿名的,你怎么调用呢?
调用都是按名字去调的
你可以把它写成存储过程再调用
jdbc调用
SQL Server语句:
CREATE PROCEDURE show
@N varchar(10),
@P varchar(10) output
AS
select @p=au_pwd from useTab where au_name=@N
GO
存储过程代码:
public static void main(String[] args) {
Connection cnn = null;
CallableStatement cs = null;
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
} catch (Exception e) {
System.out.print(e.getMessage());
}
try {
cnn = DriverManager
.getConnection("jdbc:microsoft:sqlserver://localhost:1433;databaseName=hibernateDB","sa","");
} catch (Exception e) {
System.out.print(e.getMessage());
}
try {
cs = cnn.prepareCall("{call show(?,?)}");
cs.setString(1,"a");
cs.registerOutParameter(2,Types.VARCHAR);
cs.execute();
System.out.print("return="+cs.getInt(1));
} catch (Exception e) {
System.out.print(e.getMessage());
}
}
关于java调用ncnn和java调用https跳过证书的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-29,除非注明,否则均为
原创文章,转载请注明出处。